그래서 LeftJoin으로 작업하고 있었지만 원하는 방식으로 처리 할 수 없었습니다.Laravel 5.5의 LeftJoin 다른 테이블 포함
내가 무엇을 가지고 :
Table 1: Blog_Category
Contains: `category_id`, `name`
Table 2: Blog
Contains: `blog_id`, `category_id`, `title` .... etc.
내가 구축 무엇
,하지만 작동하지 않습니다 :
public static function ShowAll() {
return self::leftJoin('Blog', 'Blog_Category.category_id', '=', 'Blog.title')
->selectRaw('Blog_Category.*, count(Blog.blog_id) as Counts')
->groupBy('Blog_Category.category_id')
->get();
}
내가 뭘 얻고 싶은 것은 category_id
, name
, COUNT합니다 (를 포함 blog_id을 계산이다 현재 category_id
)
한 마디로, 이름 옆에 카테고리 수를 넣고 싶습니다. 감사합니다.
편집 : 실제로 나는 단지 Join이 전혀 필요 없다는 것을 깨달았습니다. 나는 함수로이 SQL을해야합니다
SELECT blog_category.category_id AS id,
blog_category.name AS name,
(SELECT COUNT(*) FROM blog WHERE blog.category_id = blog_category.category_id) AS count
FROM blog_category;
것은 당신이 설득력 또는 쿼리 빌더를 사용하고 있습니까 :
나는 같은 문제를 가지고 사람들을 위해, 여기에 코드를 게시하도록하겠습니다? –
정말 잘 모르겠습니다. 이 함수는 다음과 같이 Model 클래스에 있습니다 : protected $ table = 'blog_category'; – Nicox
사실 내가 가입 할 필요는 없습니다. 게시물을 읽습니다. 편집 – Nicox