Laravel ORM关系将数据作为数组而不是对象返回

时间:2019-02-13 07:48:22

标签: arrays json laravel-5.5

我正在尝试获取

之类的关系模型数据
{{$OrderInfo->CustomerInfo->Phone}}

但是它给出了

之类的错误
  

试图获取非对象的属性

虽然我们可以轻松访问返回的数据,例如

{{$OrderInfo->CustomerInfo['Phone']}}

我的工作暂时在进行,但我不满意。它应该可以作为对象访问数据。因为,我认为这是访问数据的正确过程。请任何人可以帮助我解决问题。

非常感谢您的宝贵时间!

下面给出了订单,客户模型和我的控制者代码

use Carbon\Carbon;
use App\OrderInfo;
use App\CustomerInfo;
use Mail;

class AdminOrderController extends Controller
{
    public function index(Request $request)
    {    
        $Orders = OrderInfo::orderBy('OrderDate', 'DESC')->get();    
        return view('admin.admin-order-list', [        
            'Orders' => $Orders,        
        ]);    

     }
}


namespace App;    
use Illuminate\Database\Eloquent\Model;    
class OrderInfo extends Model
{        
    protected $table = 'order_info';
    public $timestamps = false;        
    protected $primaryKey = 'OrderId';        

    public function CustomerInfo()
    {
        return $this->belongsTo('App\CustomerInfo', 'CustomerID');
    }        
}

namespace App;
use Illuminate\Database\Eloquent\Model;

class CustomerInfo extends Model
{    
    protected $table = 'customer_info';
    public $timestamps = false;    
    protected $primaryKey = 'CustomerID';    
    protected $fillable = ['CustomerID','Phone'];

    public function OrderInfo()
    {
        return $this->belongsTo('App\OrderInfo', 'CustomerID');
    }    
}

0 个答案:

没有答案