【发布时间】:2020-05-25 02:38:17
【问题描述】:
我在 Laravel 框架中有两个通过多对多关系关联的表。我可以分别显示每个表中的数据,但不能通过关系从第一个表中获取一条记录并检查第二个表中的相关记录。在修补程序中,它可以正常访问数据。
关系:
public function underperformances() {
return $this->belongsToMany(Underperformance::Class);
}
...
public function procedures() {
return $this->belongsToMany(Procedure::class);
}
我的资源控制器部分:
...
use App\Underperformance;
use App\Procedure;
...
public function index()
{
$books = Underperformance::orderBy('id','desc')->paginate(9);
$procedures = Procedure::all();
return view('underpcon.underps', compact('books', 'procedures'));
}
路线:
Route::get('/underps', 'UnderpsController@index');
如果我尝试这样显示数据:
@foreach($procedures as $procedure)
<li>{{$procedure->underperformances}}</li>
@endforeach
我得到这样的格式到浏览器:
[{"id":1,"title":"Spare part not taken before service","description":"tekstas","level":"1","costs":600 ...
这是相关表中的正确数据,但我无法从该表中进一步选择特定列。例如这不起作用:
@foreach($procedures as $procedure)
<li>{{$procedure->underperformances->id}}</li>
@endforeach
也不是这个:
@foreach ($procedures->underperformances as $underperformance)
<li>{{$underperformance->id}}</li>
@endforeach
- 如何选择相关表的记录并显示该表中的特定数据?
- 执行此操作的常规方法是什么?
【问题讨论】:
-
请在投反对票时给我澄清,以便我做出改进。
标签: laravel laravel-blade