0

MySQL に 1 対多の関係が設定された 2 つのテーブルがあります。Gii を使用してモデルと CRUD を生成しました。

実際には他のテーブルの外部キーではない外部キー値を入力しようとすると、Yii はデフォルトでルールとデフォルトのエラー メッセージを作成しますか?

「The Yii Book」でこの段落に出くわしました。私の質問に答えてくれるかもしれません。

「{ヒント}関係は、このテーブルの外部キー値が別のテーブルの主キーとして存在することを確認する「存在する」バリデーターにも必要です。」

では、'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 に答える