我正在使用Laravel BackPack CRUD。我有两个表之间的 1-N(一对多)关系:
- 一个人属于一个结构
- 在一个结构中有很多人
所以我有一个personnes表:
idPersonnes、姓名、名字、idStructures
和一个结构表:
idStructures,名称,地址
在我的人模型中,我有:
public function structure()
{
return $this->belongsTo('App\Models\Structure', 'idStructures', 'idStructures');
}
在我的人员控制器中,我有:
$this->crud->addField([
'label' => 'Structure',
'type' => 'select2',
'name' => 'idStructures', // the db column for the foreign key
'entity' => 'structure', // the method that defines the relationship in your Model
'attribute' => 'nom', // foreign key attribute that is shown to user
'model' => 'App\Models\Structure' // foreign key model
]);
这运作良好。当我编辑一个人时,我有 select2 下拉菜单,我可以选择并保存一个结构。
现在,当我编辑一个结构时,我想显示属于该结构的所有人员。在我的结构模型中,我有:
public function personnes()
{
return $this->hasMany('App\Models\Personne', 'idStructures', 'idStructures');
}
在我的结构控制器中,我有:
$this->crud->addField([
'label' => 'Personnes',
'type' => 'select2',
'name' => 'idStructures', // the db column for the foreign key
'entity' => 'personnes', // the method that defines the relationship in your Model
'attribute' => 'nom', // foreign key attribute that is shown to user
'model' => 'App\Models\Personne' // foreign key model
]);
它不工作。难道我做错了什么 ?谢谢你的帮助。