Cakephp 3.7 hasOne字段数据不保存
Posted
技术标签:
【中文标题】Cakephp 3.7 hasOne字段数据不保存【英文标题】:Cakephp 3.7 hasOne field data not save 【发布时间】:2019-01-24 09:29:29 【问题描述】:在 cakephp 3.7 中。在我们的 add 函数里面。此数据仅保存用户表。配置文件名称字段数据不保存。
$data = [
'id' => 1,
'email' => 'cakephp',
'profile' => [
'name' => 'cakephp'
]
];
$users = TableRegistry::get('Users');
$user = $users->newEntity($data, [
'associated' => ['Profiles']
]);
$users->save($user);
UsersTable.php
public function initialize(array $config)
parent::initialize($config);
$this->setTable('users');
$this->setDisplayField('id');
$this->setPrimaryKey('id');
$this->addBehavior('Timestamp');
$this->hasOne('Profiles');
谁能帮帮我。为什么配置文件字段数据未保存在配置文件表中
【问题讨论】:
debug($user);
怎么说?
请分享你的联想
UsersTable.php public function initialize(array $config) parent::initialize($config); $this->setTable('users'); $this->setDisplayField('id'); $this->setPrimaryKey('id'); $this->addBehavior('时间戳'); $this->hasOne('Profiles');
请不要在 cmets 中发布代码,它非常不可读 - 谢谢!
@Salines 问题仍然很有用。
【参考方案1】:
通常,您还必须修改您的实体以呈现可访问的字段。
protected $_accessible = [
...
'profiles' => true, //if has many
'profile' => true, //if has one
];
如果需要,不要忘记清除缓存
【讨论】:
以上是关于Cakephp 3.7 hasOne字段数据不保存的主要内容,如果未能解决你的问题,请参考以下文章
CakePHP:表单输入(呈现为选择)未正确处理 hasOne 关系