簡體   English   中英

Laravel 5.4子查詢在哪里條件?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM