我想創建類似於SQL子查詢的別名,所以我可以像使用純SQL字段一樣使用它。例如,我有3個表格:user
,user_comments
和user_comment_answers
。如果我想獲得的所有答案,當前用戶的評論的數量,我會做這樣的事情:在Laravel Query Builder中創建一個子查詢別名
SELECT
COUNT(*) as comment_answers_count
FROM user_comment_answers
WHERE user_comment_id IN (SELECT id FROM user_comments WHERE user_id = :id)
現在我要讓Laravel將此視爲user
表的平坦區域,所以我可以簡單地做這樣的東西:
echo Auth::user()->comment_answer_count
或類似這樣的
$popularUsers = User::where('comment_answer_count', '>=', 100)
我怎樣才能在Laravel 5.4實現這一目標?
鑑於此鏈接希望這將有助於 http://itsolutionstuff.com/post/laravel-how-to-make-subquery-in -select-statementexample.html –
@recoverymen謝謝,但我知道原始查詢。我想要的是在SQL表或模型的某個地方封裝這個子查詢,並像別的普通SQL字段一樣通過別名來使用它。 –
對不起,我不清楚你想實現什麼.. –