ไม่ซ้ำกันยื่นตามรหัสผู้ดูแลระบบใน yii

ฉันใช้เฟรมเวิร์ก Yii และฉันมี 3 ฟิลด์ในตารางของฉันชื่อ Table_Details และฟิลด์คือ table_number, ที่นั่ง และ admin_id ฉันต้องการป้อน table_number ที่ไม่ซ้ำกันสำหรับแต่ละ admin_id หากฉันใช้การตรวจสอบที่ไม่ซ้ำกันสำหรับฟิลด์ table_number มันจะแทรก table_number เท่านั้น หนึ่งครั้งในตาราง แต่ฉันต้องการแทรก table_number โดยไม่ซ้ำกันสำหรับแต่ละ admin_id


person Happy    schedule 13.05.2013    source แหล่งที่มา


คำตอบ (1)


คุณสามารถกำหนดกฎของคุณเองได้ เช่น.

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');
    }
}
person Preetam    schedule 13.05.2013