Php 即时加载数据透视表
我有以下表格:Php 即时加载数据透视表,php,laravel,Php,Laravel,我有以下表格: users | name - ... carts | user_id - ... cart_product | cart_id - product_id - coupon_id 我的关系模型: Cart model public function products() { return $this->belongsToMany(Product::class) ->using(CartProduct::class)
users | name - ...
carts | user_id - ...
cart_product | cart_id - product_id - coupon_id
我的关系模型:
Cart model
public function products()
{
return $this->belongsToMany(Product::class)
->using(CartProduct::class)
->withPivot('quantity','coupon_id')
->withTimestamps();
}
User model:
public function cart()
{
return $this->hasOne(Cart::class);
}
CartProduct
class CartProduct extends Pivot
{
public function coupon()
{
return $this->belongsTo(Coupon::class,'coupon_id');
}
}
当我只需要在优惠券上显示循环时,我需要加载CartProduct
:
auth()->user()->cart->products()->whereNotNull('coupon_id')->get();
您可以使用:
$values将是登录用户的产品,该产品具有优惠券但仍有N+1!看到这里:当我这样做:{{$product->pivot->优惠券->代码}
$values=auth()->user()->cart->products()->wherePivot('coupon_id','!=',null)->get();