【发布时间】:2016-12-15 08:32:03
【问题描述】:
我对 phalcon 模型魔法 getter 和 setter 有疑问。 我想像本教程一样更新: https://docs.phalconphp.com/en/latest/reference/models.html#storing-related-records
但问题是我的项目是多模块和分离的模型文件夹。
所以我必须为 hasOne 和 belongsTo 使用别名
$this->hasOne('user_id', '\Models\UserProfile', 'user_id', array('alias' => 'UserProfile'));
和
$this->belongsTo('user_id', '\Models\CoreUser', 'user_id', array('alias' => 'CoreUser'));
我想做的就是这样。
$CoreUser = new CoreUser();
$user = $CoreUser->findFirst(array(
//...condition here to find the row i want to update
));
$user->assign($newUserData);
$user->setUserProfile($newProfileData);
$user->update();
但上面这段代码只保存用户数据,根本不保存个人资料数据。 (有个人资料数据 -- 已确认)
那么你知道错误是什么吗?如果你知道,请帮助我或给我小费。
【问题讨论】:
-
$user上是否存在方法setUserProfile()?否则只需使用$user->userProfile = $newProfileData -
您能否用
$newProfileData的内容更新您的答案? -
$user->userProfile = $newProfileData 或 $user->UserProfile = $newProfileData 不起作用..为什么会这样?它应该像在 vokuro 示例中一样工作:(
-
$newProfileData = array('first_name' => 'John', 'last_name' => 'PHP');
标签: php model-view-controller model phalcon