Model Laravel 5:模型关系的问题
我正在尝试创建一个简单的Laravel 5应用程序用于测试目的。 一切似乎都设置正确(数据库、表等)。 但是,在尝试通过关系查询我的数据库时,仍会出现以下错误: PHP ARTISAN TINKER: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
>>> 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');
}
}