2015-01-05 8 views
0

방금 ​​Laravel 및 Eloquent로 시작했습니다. "Receipt"- 모델에서 관계에 대한 정보를 얻으려고합니다. var_dump를 사용하는 한 내 정보를 얻습니다. 블레이드보기에서 값을 사용하기 만하면 "비 객체의 속성을 얻으려고합니다"라는 메시지가 나타납니다.() 다이; I 이제 위해서 var_dump ($ 이름)를 넣으면Laravel Eloquent belongsTo : 에코/다이/var_dump없이 사용할 때 "비 오브젝트의 속성을 얻으려고합니다"

<?php 

class Receipt extends Eloquent { 
    public function businesspartner() { 
     return $this->belongsTo('Businesspartner', 'f_businesspartner_id'); 
    } 

    public function brand() { 
     return $this->belongsTo('Brand', 'f_brand_id'); 
    } 

    public function invoice() { 
     return $this->belongsTo('Invoice', 'f_invoice_id'); 
    } 

    public function name() { 
     $name = ''; 

     $bp = $this->businesspartner()->first(); 

     $name = $bp->salutation; // line 21 
     $name .= ' '; 
     $name .= $bp->lastname_company; 


     return $name; 
    } 
} 

에러는 라인 21

발생; 돌아 오기 전에 , 내 이름을 출력합니다.

여기에 무슨 문제가 있습니까? :(

감사합니다, 티모

+0

당신은 루프에서 그것을하고있어 : 그에 대한 자세한 내용은

는 Jarek는 해당 게시물을 연결? 이것을 확인하십시오. http://stackoverflow.com/a/23911985/784588 –

+0

좋습니다. 나는 이것이 정말로 null 일 수 없다는 것을 확신했지만,이 에러가 발생했을 때 이미 내 루프가 한 발 앞섰다. 내 $ name 코드 줄을 빌드 할 때'if (count ($ this-> businesspartner))'를 넣으면 내 문제가 해결됩니다. 모든 디버그 출력은 코드 반복을 멈추었습니다. 이 답변을 수락하고이 스레드를 해결 된 것으로 표시 할 수 있도록 팁을 답으로 제공해 주시겠습니까? – alexandre

+0

불필요한, 그냥 upvote 연결된 대답. –

답변

1

솔루션 @Jarek Tkaczyk, 나는 루프의 이름() 메서드를 호출했다.

내 디버그 출력을 수행 할 때, 썼던 것처럼

I 첫 번째 행의 데이터가 있습니다. 오류가 발생하면 코드에서 이미 외래 키가 null 인 두 번째 행을 처리하고 있습니다.

문제가있는 부분은 if(count($this->businesspartner))입니다. 오른쪽 https://stackoverflow.com/a/23911985/784588