2013-05-26 6 views
0

3 테이블을 다형성 관계의 여러 소유자를 검색하는 방법을 다음과 같습니다 :
사용자laravel 4 개

id username 

주문

id price 

역사

id historable_id historable_type 
를 내가 검색하려는 주문 내역에서 특정 내역 ID가있는 모든 주문

주문 모델 :

public function history(){ 
    return $this->morphMany('History','historable');} 

OrderController :

이상의 역사 ID 1과 순서,하지만 첫 번째 순서가 발견이있어
public function index(){ 
    var_dump(History::find(1)->historable->toArray());} 

. 같은 이력 ID를 가진 다른 모든 사람들을 어떻게 얻을 수 있습니까?

+0

('historable_id을', '=', '1') -> (취득)? 현재 ID가 1 인 주문과 일치하는 모든 행이 아닌 ID가 1 인 기록 표의 행을 검색 중입니다. find()가 기록 표의 'id'열을보고 있고, 찾고 싶습니다. 'historable_id'열에 – ARW

+0

감사합니다. 당신 말이 맞습니다. – JackpotK

답변

2

주석의 토론을 요약하면 해결 방법은 일반 열이 아닌 'historable_id'열을 기준으로 레코드를 검색하는 것입니다.

History::where('historable_id', '=', '1')->get(); 

또는 대안 :

어쩌면 내가 오해 해요,하지만 당신이 기록 :: 곳 싶지 않아
Order::find(1)->history;