[英]Laravel 5.4 subquery in where condition?
我想在條件和子查詢條件的內部寫子查詢,用父查詢字段檢查。
如下,
$query = DB::table('users');
$query->whereNotIn('users.id', function($query) use ($request) {
$query->select('award_user.user_id')
->from('award_user')
->where('award_user.user_id', 'users.id')
->where('award_user.award_id', $request->award_id);
});
查詢工作正常,但是
->where('award_user.user_id', 'users.id')
這行,users.id不是從父查詢中獲取的。 如果我手動輸入數字,那么它正常工作。
我的查詢有什么問題..你可以建議嗎?
使用whereRaw
而不是where
$query = DB::table('users');
$query->whereNotIn('users.id', function($query) use ($request) {
$query->select('award_user.user_id')
->from('award_user')
->whereRaw('award_user.user_id', 'users.id')
->whereRaw('award_user.award_id = '.$request->award_id);
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.