1

我正在使用 Yii 框架,我的表中有 3 个字段,名为 Table_Details,字段分别是 table_number、seats 和 admin_id。我想为每个 admin_id 输入一个唯一的 table_number。如果我对字段 table_number 使用唯一验证,那么它只会插入 table_number一次在表中,但我想为每个 admin_id 唯一地插入 table_number。

4

1 回答 1

1

您可以定义自己的规则。IE

public function rules()
{
    return array(
       array('table_number', 'uniqueTable', "on" => "insert"),
    );
}

并在您的模型中定义一个uniqueTable函数:

public function uniqueTable($attribute,$params)
{
    $record=TableDetail::model()->findByAttributes(array('table_name'=>$this->table_name, "admin_id" => Yii::app->user->id));

    if(count($record) > 0){
        $this->addError($attribute, 'You already have a table with this name');
    }
}
于 2013-05-13T04:36:18.313 回答