0

我在 MySQL 中有两个具有一对多关系设置的表。我使用 Gii 来生成模型和 CRUD。

如果我尝试输入实际上不是另一个表的外键的外键值,Yii 默认会创建规则和默认错误消息吗?

我在“The Yii Book”中看到了这一段,它可以回答我的问题。

“{TIP}‘exists’验证器也需要这些关系,它确认此表中的外键值作为另一个表中的主键存在。”

那么我需要编写一个“存在”验证器吗?

4

2 回答 2

0

默认情况下不创建与外键相关的验证规则。

如果数据库给出外键违规错误,Yii 将生成错误消息(CDbException)。

于 2013-06-29T11:34:41.987 回答
0

Yii 创建它的默认规则,你可以在模型中找到例如

public function rules()
    {
        // NOTE: you should only define rules for those attributes that
        // will receive user inputs.
        return array(
            array('primaryEmail, password, creationTime, IPAddress, isBusiness, forgotPassTime, aboutMe, fname, lname', 'required'),

        );
    }

您还可以为验证提供自定义消息

它还提供了默认关系,例如

public function relations()
    {
return array(
            'articles' => array(self::HAS_MANY, 'Article', 'authorId'),
}
于 2013-06-29T11:34:46.643 回答