2014-10-03 5 views
0

안녕하세요 다음과 같이 서로 관련이있는 다음 3 개의 테이블이 있습니다. 각 모델에 대해 Laravel에서 모델을 만들려고하는데, 사용 방법에 대해 혼란 스럽습니다 & 기타Laravel 3 테이블 모델 관계 구축

$blog = Post::with('blogCat')->get()->toArray(); 

배열을 얻을 :이 같은 것을 사용 할 수있는 ...

TABLE: posts 
----------------------------- 
id  Auto-inc 
type_id if (3 its for a blog) 
title 
content 

TABLE: blog 
----------------------------- 
id  Auto-inc 
post_id the post id 
cat_id blog_cat table id 
slug 


TABLE:blog_cat 
----------------------------- 
id Auto-inc 
cat_name 

는 지금은 Blog.php의 모델, BlogCat.php & Post.php를 작성하는 것을 시도하고있다 게시물이 & 인 게시물 f를 type_id = 3 (블로그) 블로그 테이블에서 블로그 정보의 배열을 얻으려면이 가능하거나 그냥 선택, 어디/조인을 사용해야합니까?

주셔서 감사합니다 블로그 모델에서

답변

0

, 당신은에 BelongsTo을 반환하는 고양이() 관계가 필요합니다().

포스트 모델에는 HasOne()을 반환하는 blog() 관계가 필요합니다.

함께 게시물의 컬렉션을 얻으려면 블로그 열망로드 :

$blog = Post::with('blog')->get() 

함께 게시물의 컬렉션을 얻으려면 블로그 열망로드와 BlogCats 각 블로그에 대한 열망로드 :

$blog = Post::with('blog.blogCat')->get() 

블로그에 type_id가 3 인 블로그 만로드하려면 "eager load constraint"

+0

BelongTo() 여기에서 정확히 혼란스러워하는 내용을 사용해야합니까? – user3150060

+0

당신은 Blog 모델을 말했고 귀하의 예제는 Post :: with ('blog')라고 말합니다 – user3150060

+0

$ blog = with Blog :: with ('post') -> get() -> toArray(); – user3150060