显示具有多对多关系的字段 laravel 5.4
Displaying fields with many to many relationship laravel 5.4
我是 laravel 5.4 的初学者。我只是想问问。我想在作业 table 中显示收集器,但它没有显示。
Screenshot of the Assignments Index
我作业中的代码index.blade.php
<td>{{ $assignment->collector['firstname'] }} {{ $assignment->collector['lastname'] }}</td>
Assignment.php 型号
public function collectors()
{
return $this->belongsToMany(Collector::class);
}
Collector.php 型号
public function assignments()
{
return $this->belongsToMany(Assignment::class);
}
分配控制器
public function index()
{
$assignments = Assignment::all();
return view('assignments.index', compact('assignments'));
}
我正在搜索如何显示具有多对多关系的收藏家。我阅读了关于使用 pivot 的文档,但我仍然有关于它的错误。你能帮我解决这个问题吗?谢谢
$collector
是对象,不是数组。使用 ->
语法访问单个收集器模型的属性:
$collector->firstname
由于关系是多对多的,因此您需要两个循环:
@foreach($assignments as $assignment)
@foreach($assignment->collectors as $collector)
<td>{{ $collector->firstname }} {{ $collector->lastname }}</td>
@endforeach
@endforeach
如果您发现经常需要同时使用两个字段,例如名字和姓氏,您可以在 Collector
模型上创建一个访问器以轻松连接它们:
public function getFullNameAttribute()
{
return $this->getAttribute('firstname') . ' ' . $this->getAttribute('lastname');
}
然后让你做:
@foreach($assignments as $assignment)
@foreach($assignment->collectors as $collector)
<td>{{ $collector->fullname }}</td>
@endforeach
@endforeach
我是 laravel 5.4 的初学者。我只是想问问。我想在作业 table 中显示收集器,但它没有显示。
Screenshot of the Assignments Index
我作业中的代码index.blade.php
<td>{{ $assignment->collector['firstname'] }} {{ $assignment->collector['lastname'] }}</td>
Assignment.php 型号
public function collectors()
{
return $this->belongsToMany(Collector::class);
}
Collector.php 型号
public function assignments()
{
return $this->belongsToMany(Assignment::class);
}
分配控制器
public function index()
{
$assignments = Assignment::all();
return view('assignments.index', compact('assignments'));
}
我正在搜索如何显示具有多对多关系的收藏家。我阅读了关于使用 pivot 的文档,但我仍然有关于它的错误。你能帮我解决这个问题吗?谢谢
$collector
是对象,不是数组。使用 ->
语法访问单个收集器模型的属性:
$collector->firstname
由于关系是多对多的,因此您需要两个循环:
@foreach($assignments as $assignment)
@foreach($assignment->collectors as $collector)
<td>{{ $collector->firstname }} {{ $collector->lastname }}</td>
@endforeach
@endforeach
如果您发现经常需要同时使用两个字段,例如名字和姓氏,您可以在 Collector
模型上创建一个访问器以轻松连接它们:
public function getFullNameAttribute()
{
return $this->getAttribute('firstname') . ' ' . $this->getAttribute('lastname');
}
然后让你做:
@foreach($assignments as $assignment)
@foreach($assignment->collectors as $collector)
<td>{{ $collector->fullname }}</td>
@endforeach
@endforeach