【发布时间】:2020-09-05 12:30:08
【问题描述】:
我有这些表:
users | name - ...
carts | user_id - ...
cart_product | cart_id - product_id
关系:
Cart model
public function products()
{
return $this->belongsToMany(Product::class)
->withPivot('quantity','coupon_id')
->withTimestamps();
}
User model:
public function cart()
{
return $this->hasOne(Cart::class);
}
当我进行查询时,查询中有 n+1,如下所示:
auth()->user()->cart()->with('products')->products
如何预先加载查询?
【问题讨论】:
-
user()->with('cart.products')
-
这样打印
dd(auth())会得到什么?让我们知道 -
@EncangCutbray 登录的用户!
-
试试这样
return auth()->loadMissing('cart.products')如果您遇到错误,请告诉我们 -
@EncangCutbray 调用模型 [App\Models\Cart] 上的未定义关系 [cart]。