Question

i am new to yii framework and i have this code in yii and i try to insert into data base but nothing save to db why?

    public function actionAhmad() {
    $connection = yii::app()->db;
    $UserModel = new User();
    $AdverModel = new Adver();
    $html = new simple_html_dom();
    $links = array();
    $html = file_get_html('http://jo.opensooq.com/category/%D8%A7%D9%84%D8%B3%D9%8A%D8%A7%D8%B1%D8%A7%D8%AA-%D9%88-%D8%A7%D9%84%D9%85%D8%B1%D9%83%D8%A8%D8%A7%D8%AA/70');

    foreach ($html->find('tr[class="one_post"] td[class="os_new_ads_list_title"] p a')as $a) {
        //echo  $a->href;echo "<br/>";
        $links[] = $a->href;
    }

    foreach ($links as $anchor) {

        $html2 = file_get_html('http://jo.opensooq.com/' . $anchor);

        $one = $html2->find('div[class="os_new_ad_box_lft_details_box"] a');

        $UserModel->name=$one;

        if ($UserModel->save()) {

           echo 'sucsess';                
       } else {

            print_r($UserModel->getErrors());
            echo "<br/>";

       }

    }
}

i have this output

    Array ( [id] => Array ( [0] => ID cannot be blank. ) [name] => Array ( [0] => Name is invalid. ) )
Array ( [id] => Array ( [0] => ID cannot be blank. ) [name] => Array ( [0] => Name cannot be blank. ) )
Array ( [id] => Array ( [0] => ID cannot be blank. ) [name] => Array ( [0] => Name is invalid. ) )
Array ( [id] => Array ( [0] => ID cannot be blank. ) [name] => Array ( [0] => Name is invalid. ) )
Array ( [id] => Array ( [0] => ID cannot be blank. ) [name] => Array ( [0] => Name is invalid. ) )
Array ( [id] => Array ( [0] => ID cannot be blank. ) [name] => Array ( [0] => Name is invalid. ) )
Array ( [id] => Array ( [0] => ID cannot be blank. ) [name] => Array ( [0] => Name is invalid. ) )
Array ( [id] => Array ( [0] => ID cannot be blank. ) [name] => Array ( [0] => Name is invalid. ) )
Array ( [id] => Array ( [0] => ID cannot be blank. ) [name] => Array ( [0] => Name is invalid. ) )
Array ( [id] => Array ( [0] => ID cannot be blank. ) [name] => Array ( [0] => Name is invalid. ) )
Array ( [id] => Array ( [0] => ID cannot be blank. ) [name] => Array ( [0] => Name is invalid. ) )
Array ( [id] => Array ( [0] => ID cannot be blank. ) [name] => Array ( [0] => Name is invalid. ) )
Array ( [id] => Array ( [0] => ID cannot be blank. ) [name] => Array ( [0] => Name is invalid. ) )
Array ( [id] => Array ( [0] => ID cannot be blank. ) [name] => Array ( [0] => Name is invalid. ) )
Array ( [id] => Array ( [0] => ID cannot be blank. ) [name] => Array ( [0] => Name is invalid. ) )
Array ( [id] => Array ( [0] => ID cannot be blank. ) [name] => Array ( [0] => Name is invalid. ) )
Array ( [id] => Array ( [0] => ID cannot be blank. ) [name] => Array ( [0] => Name is invalid. ) )
Array ( [id] => Array ( [0] => ID cannot be blank. ) [name] => Array ( [0] => Name is invalid. ) )
Array ( [id] => Array ( [0] => ID cannot be blank. ) [name] => Array ( [0] => Name is invalid. ) )
Array ( [id] => Array ( [0] => ID cannot be blank. ) [name] => Array ( [0] => Name is invalid. ) )
Was it helpful?

Solution

Check your validation rules in User model . you are try to send irrelevant data into DB. Try to change your table id as auto increment and remove the rules on your User model

its look like

public function rules()
{
    return array(
        array('id,username, password', 'required'),  // remove id on this 
        array('password_repeat', 'required', 'on'=>'register'),
        array('password', 'compare', 'compareAttribute'=>'password_repeat', 'on'=>'register'),
    );
}

if the rules have required validator yii through validation error if you dont want validate any fields just remove fields on this list

Edited Use this for save it turn off your validation rules while save

$model->save(false);
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top