【发布时间】:2020-11-06 23:31:06
【问题描述】:
在使用 whereNotIn 子句的多列的 Laravel 雄辩查询中,我需要硬编码 DB::raw 列之一,因为值应该来自变量(循环变量)。实现这一点的最佳方法是什么? 这是我的查询,我需要更改 DB::raw('(1,user_profile.user_id') 中的硬编码 1
$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();
【问题讨论】:
-
你能告诉我们你想要的表结构和预期结果吗?
标签: php laravel eloquent subquery