metoda textField($model,wlasciwosc)

Dzień dobry forumowiczom,

Mam podstawowy problem, nie zabardzo rozumiem jednej rzeczy, bardzo proszę o pomoc.

W widoku dodaje pole tekstowe:

$form->textField($model,wlasciwosc)

Model w parametrach metody jak rozumiem dodaje się by wiadomo było gdzie przesyłać dane z formularza (do modelu), tak?

Podaje się również właściwość, pod którą ma zostać zapisana wartość z pola tekstowego.

Potem wystarczy metoda save() dla modelu i model został zapisany w bazie danych.

Jeśli się mylę, bardzo prosiłbym o korektę mojego myślenia i wyjaśnienie co oznaczają i jak działają parametry metody,

Jeszcze raz proszę o pomoc i pozdrawiam

Witaj,

Generalnie dobrze myślisz. Model w paramerach metody podaje się aby metoda wiedziałą do którego obiektu zwracać dane a możliwości jest wiele: kilka modeli w obrębie jednej akcji, inne klasy, tablice, dataProviders, …

To co nazywasz właściowością w modelu Yii nazywa się atrybutem

Kod dla modelu nie wymagany ale podam żeby było wiadomo do czego się ma w kontrolerze i widoku:




class NazwaModelu extends \yii\db\ActiveRecord

{




    public static function tableName()

    {

        return 'tabela';

    }




    public function attributeLabels()

    {

        return [

            'attribute' => 'Atrybut',

        ];

    }

}

Controller:


public function actionCreate()

    {

	if ($model->save) {echo 'udało się zapisać';}

	

    }

Widok

:


<?= $form->field($model, 'attribute')->textInput(['maxlength' => 100]) ?>

<?= Html::submitButton() ?>

Sero, dobrze myślisz, właśnie tak jest i pceuropa też rozwinął to w dobrą stronę, ale zwróć tylko uwagę, że podany przez niego przykład pochodzi z Yii2, a $form->textField($model,wlasciwosc) jest z Yii1, ale to tylko drobny szczegół techniczny.

To wiele wyjaśnia. Dzięki serdecznie za doinformowanie.

Pozdrawiam