我有两个实体,Site而SitesMetaData我想用的hasMany和属于关联协会联系.
我根据CakePHP 3.0书创建了一切,但出于某种原因,它没有生成或保存关联.
这是我的关系
SitesTable:
$this->hasMany('SitesMetaData', [
'foreignKey' => 'site_id',
'dependent' => true
]);
Run Code Online (Sandbox Code Playgroud)
和SitesMetaDataTable(通过烘焙模型自动生成):
$this->belongsTo('Sites', [
'foreignKey' => 'site_id',
'joinType' => 'INNER'
]);
Run Code Online (Sandbox Code Playgroud)
这是我的控制器功能:
$site = $this->Sites->newEntity();
if ($this->request->is('post')) {
$site = $this->Sites->patchEntity($site, $this->request->data, ['associated' => ['SitesMetaData']]);
if ($this->Sites->save($site)) {
$this->Flash->success(__('The site has been saved.'));
return $this->redirect(['_name' => 'admin:home']);
} else {
$this->Flash->error(__('The site could not be saved. Please, try again.'));
}
}
Run Code Online (Sandbox Code Playgroud)
这是在patchEntity之后的$ this-> request-> data和$ site的转储:
/src/Controller/Admin/SitesController.php (line 33)
[
'title' => 'test', …Run Code Online (Sandbox Code Playgroud)