Php 根据yii中的管理员id创建的唯一字段

Php 根据yii中的管理员id创建的唯一字段,php,yii,Php,Yii,我正在使用Yii框架,我的表中有3个字段名为table_Details,字段为table_number、seats和admin_id。我想为每个admin_id输入一个唯一的table_编号。如果我对字段table_编号使用唯一验证,然后它将在表中只插入一次表号,但我想为每个管理员id唯一地插入表号。您可以定义自己的规则。i、 e public function rules() { return array( array('table_number', 'uniqueTab

我正在使用Yii框架,我的表中有3个字段名为table_Details,字段为table_number、seats和admin_id。我想为每个admin_id输入一个唯一的table_编号。如果我对字段table_编号使用唯一验证,然后它将在表中只插入一次表号,但我想为每个管理员id唯一地插入表号。

您可以定义自己的规则。i、 e

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');
    }
}

您可以定义自己的规则。i、 e

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');
    }
}