2014-02-23 2 views
0

나는 약간의 테이블이 있습니다. 예 :Laravel (가) 다음과 같은 모델 및 기능

id: 1 
name: abc 
parent_id: 0 

id: 2 
name: abc_parent 
parent_id: 1 

id: 3 
name: another 
parent_id: 1 

해당 모델의 일부 기능에서 "이름"을 어떻게 얻을 수 있습니까? 뭔가가 ...

public function parentName() 
{ 
    $pid = this->parent_id; 
    /// return self::find($pid)->name; ### this does not actually work 
} 

별도의 함수를 만들어 parent_id에 전달해야합니까? 아니면 더 간단한 방법이 있습니까?

답변

0

모델에 부모 relationship을 정의하십시오.

이렇게하면 $item->parent->name과 같은 관계를 사용할 수 있습니다.

$item->parentName과 같은 것을 원할 경우 attribute accessor을 관계의 별칭으로 만들 수 있습니다.

public function getParentNameAttribute() { 
    return $this->parent->name; 
} 

그러면 $item->parentName을 수행 할 수 있습니다.

관련 문제