I am using Yii framework and i have 3 fields in my table named Table_Details and fields are table_number,seats and admin_id.I want to enter a unique table_number for each admin_id.If i use unique validation for field table_number,then it will insert table_number only once in the table but i want to insert table_number uniquely for each admin_id.
You can define your own rule. i.e.
public function rules()
{
return array(
array('table_number', 'uniqueTable', "on" => "insert"),
);
}
And define a uniqueTable
function in your model:
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');
}
}