在CakePHP 3

时间:2016-01-19 07:33:37

标签: php cakephp cakephp-3.0

我的表用户电话字段。

问题是,如果我想在显示用户信息时将分隔用户电话号码分成2个文本框,反之亦然,当用户提交表单时,自动合并成为一个值之前 patchEntity() save()到数据库。

使用CakePhp Form Helper可以使CakePHP变得简单易用吗?

感谢。

1 个答案:

答案 0 :(得分:4)

您可以使用Model.beforeMarshal事件在修补权限之前修改,重新构建请求数据,beforMarshal事件在验证过程之前触发。 例如,要将两个表单值连接到一个可以执行的表单值

// In a table or behavior class
public function beforeMarshal(Event $event, $data)
{
   $data['telephone'] = $data['telephone_1'].' '.  $data['telephone_2'];
}

不要忘记在表或行为类的顶部添加此语句use Cake\Event\Event;。 有关Model.beforeMarshal的详细信息,请参阅http://book.cakephp.org/3.0/en/orm/saving-data.html#modifying-request-data-before-building-entities