我的数据透视表admin_user
,其中包含其他属性item_no
。我发现很难将其他属性检索到我的html表中。
PS:我在我的表中尝试$admin->pivot->item_no
,但收到错误trying to get a non-object
管理
public function users()
{
return $this->belongsToMany('App\User')->withPivot('item_no')
->withTimestamps();
}
admin_food
admin_id
user_id
item_no
控制器
public function index()
{
$admins = Admin::where('id',1)->get();
return view('index',compact('admins'));
}
HTML
<table class="table" id="table">
<thead>
<tr>
<th>Order No#</th>
<th>Name</th>
</tr>
</thead>
<tbody>
@foreach($admins as $admin)
<tr >
<td>{{$admin->name}}</td>
</tr>
@endforeach
</tbody>
</table>
答案 0 :(得分:1)
您可以通过访问用户/相关模型的pivot属性来访问item_id。
您的控制器正在返回只有一个管理员的集合。
$admins = Admin::where('id',1)->get();
admins
将是1个管理员的集合,其ID = 1。
如果这是故意的,那么您可以通过以下代码访问与此管理员相关的每个用户的item_id:
@foreach($admins as $admin)
@foreach($admin->users as $user)
<tr>
<td>{{$user->name}}</td>
<td>{{$user->pivot->item_id}}</td>
</tr>
@endforeach
@endforeach
简化:
$admin = Amdin::first();
$item_id = $admin->users()->first()->pivot->item_id