这是我的用户项目数据透视表
| item_id | user_id | rate |
并且我在用户和项目模型中定义了多对多关系 这是我的用户模型
public function items()
{
return $this->belongsToMany(Item::class, 'item_user')->withPivot('rate');
}
这是我的物品模型
public function users()
{
return $this->belongsToMany(User::class, 'item_user')->withPivot('rate');
}
这是我的控制器。假设我有 item_id。我想找到 user 和 item_id id 匹配的比率。
public function findRate(Request $request){
$user=User::where('id',auth()->user()->id)->first();
$item_rate=$user->items->where('item_id', '1')->first();
dd($user);
return response()->json([
'item_rate'=>$item_rate,
]);
}
我试过这样但错误说这个集合实例上不存在属性[pivot]
$item_rate=$user->items->where('item_id', '1')->pivot()->rate;
试试这个
$item_rate=$user->items()
->where('item_id',1)
->first()
->pivot
->rate;