Php 一对多关系与Elount with laravel框架
我有一个叫做Catparent的模型和另一个叫做Category的模型Php 一对多关系与Elount with laravel框架,php,laravel,eloquent,Php,Laravel,Eloquent,我有一个叫做Catparent的模型和另一个叫做Category的模型 class Category extends Model { public function catparent() { return $this->belongsTo('App\Catparent','parent_id','id'); } } class Catparent extends Model { /** * The attributes that are
class Category extends Model
{
public function catparent() {
return $this->belongsTo('App\Catparent','parent_id','id');
}
}
class Catparent extends Model
{
/**
* The attributes that are mass assignable.
*
* @var array
*/
protected $fillable = [
'name', 'status',
];
public function category() {
return $this->hasMany('App\Category');
}
}
>>> $cat = App\Catparent::find(1);
=> App\Catparent {#628
id: 1,
name: "Electronics",
active: "Inactive",
created_at: "2017-03-19 12:43:10",
updated_at: "2017-03-19 12:43:10",
}
>>> $cat->category;
Illuminate\Database\QueryException with message 'SQLSTATE[42S22]: Column not found: 1054 Unknown column 'categories.catparent_id' in 'where clause' (SQL: select * from `categories` where `categories`.`catparent_id` = 1 and `categories`.`catparent_id` is not null)'
>>>
Eloquent正在查找catparent_id,而Categories表将parent_id列作为catparent表的外键
我已经通过hasMany()方法中的一个参数传递了这一点,但仍然雄辩地寻找catparent_id而不是parent_id
关于这一点,我有什么遗漏吗?
return$this->hasMany('App\Category','parent\u id')代码>您需要在关系的两侧指定外键。谢谢,它起作用了