在我的邀请模型中,我有一个之前的保存功能,如果同一天的同一小时已有2个邀请,则会检查并返回false。虚假,让用户留在“创造”中。 如果之前保存返回false,我如何在创建中插入消息?
这是我的功能:
public function beforeSave($insert)
{
$return = parent::beforeSave($insert);
$numOfInvitations = (new yii\db\Query())
->from('invitation')
->where(['day' =>$this->day])
->andWhere(['hour' =>$this->hour])
->count();
if ($numOfInvitations==2){
return false;
}
return $return;
}
答案 0 :(得分:4)
e.g。 $this->addError('id', 'there are already 2 invitations');
但是我会在你的rules
添加验证功能并在验证时检查它。
['id', 'checkInvitations']
和
中的代码function public function checkPanCardUsers($attribute, $params)
{
if ($this->day && $this->hour) {
$numOfInvitations = (new yii\db\Query())
->from('invitation')
->where(['day' =>$this->day])
->andWhere(['hour' =>$this->hour])
->count();
if ($numOfInvitations==2){
$this->addError($attribute, 'there are already 2 invitations');
}
}
}