belongsTo relationship - 错误:尝试获取非对象的属性

时间:2017-03-24 00:11:05

标签: laravel

当我使用$message->orders时,它会返回此数据:

{"id":10,"order_id":0,"cust_id":1,"seller_id":1,"address_id":2,"product_id":170,"quantity":10"}

但如果我尝试仅返回id $message->orders->id,我会得到以下内容:

  

尝试获取非对象的属性。

代码:

   @foreach($conv_messages->messages as $message)
       {{ $message->user->name }}
                <p>{{ $message->body }}</p>


       <p>order id: {!!$message->orders-id!!} 

    @endforeach

2 个答案:

答案 0 :(得分:1)

请试试这个

@foreach($conv_messages->messages as $message)
    {{ $message->user->name }}

         <p>{{ $message->body }}</p>

         <p>order id: {!!$message->orders['id']!!} 

    @endforeach

答案 1 :(得分:0)

如果你打印$message->orders时得到了你所说的(json字符串),那么显然你将无法访问任何属性,因为它不再是PHP对象。

有些东西已经将你的对象转换为JSON,或者它总是一个JSON。 如果需要访问JSON属性,则必须首先对其进行解码:

<?php $messageOrders = json_decode($message->orders) ?>

{!! $messageOrders->id !!}