2015-02-01 5 views
1

을 yii2. - 도서 표표시 부모 - 자식 관계는 내가 yii2 다음과 같은 일을 구현할 수있는 방법을 찾고

각 저자 -> 한 권 이상의 책을 썼습니다.

내가하고 싶은 것은보기에 작성자의 세부 사항을 표시하고 작성한 모든 서적의 격자보기입니다. 그 후에, 현재 작성자에게 속한 책의 그리드보기와 함께 현재 작성자에 대한 새 책을 작성/제거하는 제어 단추 ... 다른 말로하면 마스터 상세보기.

어떻게 도서 데이터를 검색해야합니까? 저자에게 동일한 컨트롤러에서?

나는 이미 어떤 도움을 환영합니다 사전에 저자의 모델에서,

감사를 저자와 책 사이의 테이블 관계를 구현!

답변

1

만약 당신이 당신의 저자 모델에서 다음과 같은 관계가 있습니다

:

public function getBooks() 
{ 
    return $this->hasMany(Books::className(), ['author_id' => 'id']); 
} 

관계를 선언 한 후, 관계형 데이터를 가져 오는 것은 해당 getter 메소드에 의해 정의 된 구성 요소 속성에 액세스하는 것만 큼 쉽습니다

$author = Author::findOne(1); 
$books = $author->books; 

http://www.yiiframework.com/doc-2.0/guide-db-active-record.html

+0

감사 쓰여진 책과 함께있는 gridview를 만들 수 있습니다 :)하지만 난 다른 방법으로 뷰를 구현 종료 – Alberto

0

내가 마지막에 발견 된 솔루션이라고 할 수 :

저자의 컨트롤러에서
  • , 나는 "보기"행동을 수정, 그래서 나는 다음 "저자 ID가"하여는 "책"activeDataprovider 필터링 수 :

    공공 기능 actionView ($ 아이디) { // 현재 저자 가져 오기 $ author = $ this-> findModel ($ id);

    $books_search = new BookSearch(); 
    
        //get the related books for current author 
    
    $written_books = $books_search->search(['bookSearch'=>['id_author'=>$id]]); 
         return $this->render('view', [ 
         'author' => $author, 
         'books_search'=> $books_search, 
         'books'=>$written_books, 
        ]); 
    } 
    

그럼, 저자의 견해에 도움을 현재의 저자에 의해