在Laravel雄辩的查询使用多个列的whereNotIn子句我需要硬编码的DB::raw列的值应该来自一个变量(循环变量).什么是最好的方式来实现这一点?这是我的查询,我需要改变硬编码的1在DB::raw('(1,user_profile.user_id')
$otherProfiles = Userprofile::where('user_id', '!=', $profile->user_id)
->where(function ($query) use ($userInterests) {
foreach ($userInterests as $interest) {
$query->orWhere('interest', 'like', "%$interest%");
};
})
->whereNotIn(DB::raw('(1, user_profile.user_id)'), function ($query) {
$query->select('sender_id', 'receiver_id')
->from('email_reports');
})
->inRandomOrder()
->get();
2条答案
按热度按时间jei2mxaa1#
通过简单的连接来修复它添加的代码是DB::raw('('. $profile-〉user_id . ',user_profile.user_id)')
yi0zb3m42#
为动态值创建一个变量
$id
: