Laravel雄辩地获得相关模型的单一属性

时间:2014-12-20 15:46:59

标签: php laravel orm

我的问题非常简单,但我无法找到解决方案。

以下代码

{{$proposition->User}}

它会返回以下内容,这里没什么奇怪的。

{
 "id":"2",
 "telefoon":"",
 "mobiel":"0622222222",
 "adres_huisnmr":"4e Binnenvestgracht",
 "email":"rubend@gmail.com",
 "postcode":"",
 "stad":"leiden",
 "achternaam":"Morgenland",
 "bio":"",
 "created_at":"2014-12-15 14:35:38",
 "updated_at":"2014-12-15 14:35:38"
}

以下代码

{{$proposition->User->achternaam}}

生成以下错误:

  

尝试获取非对象的属性(查看:   /home/collective/projects/laravel/app/views/Account/received_propositions.blade.php)

据我所知,ORM是正确的。我试图显示的变量就在那里,如第一个例子所示。但为什么这不起作用?

我希望有人可以帮助我,因为我坚持这个(这应该是一个相对容易的问题)几个小时。

修改

以下内容会生成错误

    @foreach($jobs as $job)

     <li>De Job:  {{$job->titel}}, {{$job->prijs}} euro,  {{$job->beschrijving}}  **todo**more info</li>

     @foreach($job->Propositions as $proposition)

    <ul>
       <li>
    offerte:  {{$proposition->titel}} prijs: {{$proposition->prijs}}
   ------->>this line!      geplaatsts door : {{$proposition->User->email}}
        </li>           
    </ul>     

  @endforeach
    @endforeach

如果我通过添加if语句将其更改为以下内容来检查User!= null 它会工作,但它只适用于循环中的第一个。所有其他的将留空。 ORM是坚实的。

谁可以帮助我?真的让我不知所措。

    @foreach($jobs as $job)

     <li>De Job:  {{$job->titel}}, {{$job->prijs}} euro,  {{$job->beschrijving}}  **todo**more info</li>

     @foreach($job->Propositions as $proposition)

    <ul>
       <li>
    offerte:  {{$proposition->titel}} prijs: {{$proposition->prijs}}
               geplaatsts door :    @if($proposition->User)
                  {{$proposition->User->email}}
           @endif
        </li>           
    </ul>     

  @endforeach
    @endforeach



       <ul>

    </ul>

1 个答案:

答案 0 :(得分:-1)

改为使用它。

{{$proposition->User()->achternaam}}