我有两个表,在MySQL中有一对多的关系设置。我用Gii来生成模型& CRUD。
Yii默认是否会创建规则&如果我尝试输入实际上不是另一个表的外键的外键值,则出现默认错误消息?
我在“The Yii Book”中看到了这一段,可能会回答我的问题。
“{TIP}”存在“验证器也需要关系 它确认此表中的外键值存在为a 另一个主键。“
那么我需要写一个'exists'验证器吗?
答案 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'),
}