2016-08-22 61 views
0

我需要選擇一行並使用查詢中該行的值。從同一張表中選擇表結果?

喜歡的東西,SELECT * FROM用戶其中id = 1,SELECT * FROM用戶其中id!= 1和權限= id爲1的許可用戶

所以我希望得到一個用戶用的1號,然後從同一個表中選擇不是id 1的所有其他行,並具有與id 1相同的權限。我不知道該權限,直到選擇第一行爲止。

這是可能的在一個查詢雄辯嗎?

+0

用戶:: whereNotIn( '身份證',1) - >在哪裏( '許可', '=',用戶::發現(1) - >許可) - >獲得(); – mydo47

+0

用戶與權限表或用戶表有關係只有一列權限? – DsRaj

回答

1

你可以做這樣的子查詢:

Users::where('permission', function($q) 
{ 
    $q->from('users') 
     ->select('permission') 
     ->where('id', '=', 1); 

})->where('id', '!=', 1); 
+0

這很好,只是一個問題,無論如何用('用戶')子查詢 - >來指定這與模型實例而不是表名稱? – panthro

+0

嗯...如果你不想硬編碼它,你可以像$(q - )從((新應用程序\模型\用戶) - > getTable()) – SteD

+0

現貨,謝謝。 – panthro