Yii外键

时间:2013-06-29 11:28:50

标签: mysql yii foreign-keys

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

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

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

  

“{TIP}”存在“验证器也需要关系   它确认此表中的外键值存在为a   另一个主键。“

那么我需要写一个'exists'验证器吗?

2 个答案:

答案 0 :(得分:0)

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

如果数据库发出外键冲突错误,Yii将生成错误消息(CDbException)。

答案 1 :(得分: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'),
}