2017-12-28 41 views
0

내가 다음 구조가 있습니다웅변 laravel> 열망로드

모델 호출 내용

public function credits(){ 

    return $this->belongsToMany('App\models\Credit'); 
} 

모델 호출 신용을 내가 무엇

public function content() 
{ 
    return $this->belongsToMany('App\models\Content'); 
} 

삼중 한 것은 한 가지 핵심 단어의 모든 크레디트를 추출하는 것입니다. t하지만, 아래의 코드로, 내가 원하는 컬럼 만 선택 :

$credits2=$this->content::with(array('credits'=>function($query){ 
     $query->select('id','department','job'); 
}))->where('id',$id_content)->get(); 

내가 모든 코드를 실행할 때 결과가 있다는 것입니다 가지고있는 문제 :

[] 

하지만 mysql에서 정상적인 쿼리를 수행하면 영화에 대한 크레딧이 있다는 것을 알 수 있습니다.

다른 포럼 및이 stackoverflow 게시물에서이 코드를 추출했습니다.

+0

보인다. –

+0

내가 $ id_content의 인쇄를하기 때문에 데이터베이스에 수동으로 검색하고 필름을 반환합니다. – Ratchet

+0

쿼리'dd ($ this-> content :: find ($ id_content)); '앞에이 코드를 입력하십시오. 출력은 무엇입니까? –

답변

0

폐쇄를 사용하지 않고 열을 지정하는 또 다른 쉬운 방법이있다 :

$credits2 = $this->content::with('credits:credits.id,department,job') 
        ->find($id_content->id); 
0

문제는 내가 $의 id_content 작동하지 않았다 넣어 그래서 만약 $의 id_content가 들어, 이전 쿼리의 결과라고했다가 칼럼에 접근해야 해.

그리고 솔루션입니다 : DB에서`ID = $ id_content` 아무`content` 블록이없는 것처럼

$credits2=$this->content::with(array('credits'=>function($query){ 
    $query->select('id','department','job'); 
}))->where('id',$id_content)->get();