来自DB的Laravel雄辩错误选择数据
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了来自DB的Laravel雄辩错误选择数据相关的知识,希望对你有一定的参考价值。
我对Laravel 7 Eloquent有问题。我有2张桌子由many to many relation
加入。表用户通过pivot
表PaymentModuleUser连接到PaymentModule。我需要在语句where
的数据透视表上使用is_active = 1
。当我在模型中使用toSQL()
时,SQL返回良好的结果,但是当我在Controller中检查口才查询时,我报复的数据将忽略我的wherePivot方法(返回表中的所有数据,忽略is_active = 1
字段订阅者= null并让我获得该用户..如果我的pivotWhere = null
不显示该用户,我必须这样做。您能否指出我的代码出了错?
我的UserTable模型:
public function subscriber()
return $this->belongsToMany(PaymentsModule::class, 'payment_module_user', 'user_id')->withPivot('is_active');
MyController:
$users = User::with(['subscriber'=>function($query)
$query->wherePivot('is_active','=', 1);
])->get();
print_r($users);
答案
尝试使用
$users = User::with('subscriber' => function($query)
$query->where('payment_module_user.is_active', 1);
)->get();
print_r($users);
数据透视表已经通过雄辩加入了,所以就开始使用它
找到它here。
以上是关于来自DB的Laravel雄辩错误选择数据的主要内容,如果未能解决你的问题,请参考以下文章
用于 maria-db 动态列的 Laravel 雄辩包装器