我有 3 个表(食物、订单和 orderItems)。我想通过 orderItems 和食品获得用户的订单,但我失败了。这是我现在得到的结果,但我需要获取食物详细信息而不是 food_id。[ { "id": 16, "user_id": 2, "total": "12.50", "items": [ { "id": 20, "order_id": 16, "food_id": 1, "quantity": 1, "food_price": "12.50", } ] }]订单控制器$user = Auth::user();return response()->json($user->deliveredOrders()->with('items')->get());用户模型public function deliveredOrders(){ return $this->hasMany(Order::class)->where('status', '=', 'delivered');}订货型号public function items() { return $this->hasMany(OrderItem::class); }
2 回答
慕田峪9158850
TA贡献1794条经验 获得超7个赞
您应该在 OrderItem 模型中创建此关系
public function food()
{
return $this->belongsTo('App\Food'); //or wherever you have the model
}
然后得到它
$user = Auth::user();
return response()->json($user->deliveredOrders()->with('items.food')->get());
慕标5832272
TA贡献1966条经验 获得超4个赞
您应该在 OrderItem 模型上定义 food() 方法。
public function food()
{
return $this->belongsTo('App\Food');
}
并使用此获取关系数据:
$user = Auth::user();
return response()->json($user->deliveredOrders()->with('items.food')->get());
- 2 回答
- 0 关注
- 137 浏览
添加回答
举报
0/150
提交
取消