Dane wejściowe do modelu

Witam serdecznie,

W modelu dekladuje domyślne wartości do formularza. Aby zweryfikować jakie wstawić wartosci domyślne w pliku models muszę jakoś odczytać zmienną GET. Niestety nie udaje mi się tego dokonać w modelu. Czy może ktoś wie jak odczytać zmienne GET w modelu lub jak mozna mozna przekazać warości z kontrolera do modelu. (Yii wersja 1)

Podrawiam,

Kamil

  1. kontroler



public function actionIndex(){

  $model=new TwojModel();

  if($_GET['TwojModel']){

    $model->unsetAttributes; //czyszczenie domyślnych wartości

    $model->attributes = $_GET['TwojModel'];

  }


  $this->render('index', 'model'=>$model);

}



Do inicjalizacja w modelu możesz nadpisać init() w modelu, ale jeżeli do kontrolera przekazujeś wartość getem to chyba tak jak powyżej będzie najlepiej. Ważne żeby $_GET[‘TwojModel’] była tablicą z właściwościami twojego modelu.

Dodatkow jeżeli potrzeba przed wypełnieniem modelu stosuję czyszczenie z wartości domylnych zassanych z BD.

Masz jeszcze całą gamę funkcji do realizacji zachowań modelu:

afterConstruct()

afterDelete()

afterFind()

beforeCount()

beforeDelete()

szczegóły w dokumentacji http://www.yiiframework.com/doc/api/1.1/CActiveRecord

Dodam jeszcze że w funkcjach kontrolera nie trzeba definiować $_GET[‘jakaś_zmienn’]

Wystarczy zadeklarować ją tak:


public function actionIndex($lang, $get = null, $etc){


}

Wtedy kontroler pobiera je sam z GET. Nie wiem czy to dobre rozwiązanie ale kod jest czytelniejszy