Я хочу создать нечто вроде псевдонима для подзапроса 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. –
извините, я не понимаю, чего вы хотите достичь. –