하위 쿼리를 사용하여 단일 게시물을 반환하려고합니다. 아래쪽 투표 수와 상위 투표 수를 포함시킵니다. 원시 쿼리를 사용하여이 작업을 수행 할 수 있습니다.Laravel 원시 쿼리 및 모델 관계 포함
그러나 이렇게하면 모델 모델 관계에 더 이상 액세스 할 수 없습니다. 코멘트.
모델 관계를 유지하기 위해 내가 할 수있는 Eloquent 방법이 더 있습니까?
아니면 내가 모든 일에 대해 할 수있는 더 좋은 방법이 있습니까? 당신이 그것에 대해 어떻게 생각하는지 듣고 싶습니다.
$post = DB::select(
"SELECT post.*,
(SELECT COUNT(*) FROM posts_votes
WHERE type = 1
AND post_id = posts.id)
AS up_votes,
(SELECT COUNT(*) FROM posts_votes
WHERE type = 2
AND post_id = posts.id)
AS down_votes
FROM posts
INNER JOIN posts_votes ON posts.id = posts_votes.post_id
WHERE posts.id = ?", [$id])[0];
사용 '게시물 :: setect' 시도 -' –
당신이 포스트 :: 원시와 같은 웅변 모델 원시 사용할 수 있습니다 ({}) 함수 ($ 하위 쿼리)> 어디 ("sql query") -> with ("relation") –