小编I W*_*now的帖子

如何在CakePHP 3中使用beforeSave?必须始终填写$ event,$ entity和$ options?

我在"PostsTable.php"内部我正在尝试获取表单数据来处理图像文件.

在CakePHP 2中,我曾经做过:

public function beforeSave($options = array())
{
if(!empty($this->data['Post']['picture']['name'])...
Run Code Online (Sandbox Code Playgroud)

有人可以在Cake 3中解释这个:

beforeSave
Cake\ORM\Table::beforeSave(Event $event, Entity $entity, ArrayObject $options)
Run Code Online (Sandbox Code Playgroud)

添加

我尝试这段代码,看看我是否能够将这个字段保存在数据库上,就像测试一样,但似乎在忽略之前保存:

public function beforeSave($options)
{ 
if(!empty($entity->pic1['name'])) 
{ 
$entity->pic1 = 'jus a test';
}
Run Code Online (Sandbox Code Playgroud)

谢谢

cakephp cakephp-3.0

10
推荐指数
2
解决办法
1万
查看次数

如何更改buildRules [CakePHP 3]中的消息?

下面的功能是为了确保来自表单的电子邮件是唯一的,如果它已经在使用中,则会显示一条消息.我想改变这个消息.

public function buildRules(RulesChecker $rules)
{
    $rules->add($rules->isUnique(['username']));
    $rules->add($rules->isUnique(['email']));
    return $rules;
}
Run Code Online (Sandbox Code Playgroud)

我试过这种方式:

 public function buildRules(RulesChecker $rules)
 {
     $rules->add($rules->isUnique(['username']));
     $rules->add($rules->isUnique(['email']), 
         ['errorField' => 'email', 'message' => 'Este email já encontra-se em uso.']
     );
     return $rules;
}
Run Code Online (Sandbox Code Playgroud)

它有效,但两个消息都显示,默认和我的.

validation cakephp cakephp-3.0

3
推荐指数
1
解决办法
2899
查看次数

标签 统计

cakephp ×2

cakephp-3.0 ×2

validation ×1