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 相关表在更新时保存多个条目

cakephp新字段不保存

cakephp hasone 和所属加入不起作用

CakePHP:表单输入(呈现为选择)未正确处理 hasOne 关系

CakePHP hasOne belongsTo 关系,编辑/添加相同动作

Cakephp:选择登录后要保存的数据