Model Laravel 5:模型关系的问题

Model Laravel 5:模型关系的问题,model,relationship,laravel-5,Model,Relationship,Laravel 5,我正在尝试创建一个简单的Laravel 5应用程序用于测试目的。 一切似乎都设置正确(数据库、表等)。 但是,在尝试通过关系查询我的数据库时,仍会出现以下错误: PHP ARTISAN TINKER: >>> App\Product::first()->name; => "Laptop A" >>> App\Product::first() -> order -> id; PHP error: Trying to get prope

我正在尝试创建一个简单的Laravel 5应用程序用于测试目的。 一切似乎都设置正确(数据库、表等)。 但是,在尝试通过关系查询我的数据库时,仍会出现以下错误:

PHP ARTISAN TINKER:

>>> App\Product::first()->name;
=> "Laptop A"

>>> App\Product::first() -> order -> id;
PHP error:  Trying to get property of non-object on line 1
>>> App\Product::first() -> order -> status;
PHP error:  Trying to get property of non-object on line 1
以下是我的表(迁移):

以下是我的两个型号:

//文件:App\Order.php

<?php namespace App;

use Illuminate\Database\Eloquent\Model;

class Order extends Model {

public function products()
{
return $this->hasMany('App\Product');
}

}

外键的名称不符合约定(可能是单数,
顺序_id
),因此您必须指定它:

公共功能命令()
{
返回$this->belongsTo('App\Order','orders\u id');
}
(反向关系也是如此)


另外请注意,如果没有订单与产品关联,则
first()
将返回
null
。在实代码中,建议检查
first()
的返回值是否为
null

<?php namespace App;

use Illuminate\Database\Eloquent\Model;

class Order extends Model {

public function products()
{
return $this->hasMany('App\Product');
}

}
<?php namespace App;

use Illuminate\Database\Eloquent\Model;

class Product extends Model {

public function order()
{
return $this->belongsTo('App\Order');
}
}