Cześć!
Mam pytanie odnośnie scenariuszy, ponieważ nie wiem czy wszystko dobrze zrozumiałem.
Przykład uproszczony dla dwóch scenariuszy i prostego modelu, mam tabelę (id, nazwa, cena) i dwa formularze (dwie akcje kontrolera)
-
formularz umożliwiający podawanie tylko nazwy
-
formularz umożliwiający podawanie nazwy i ceny
i teraz kod
public function rules()
{
return [
[['nazwa', 'cena'], 'required'],
[['title'], 'string', 'max' => 255],
];
}
public function scenarios()
{
return [
'dodaj1' => ['nazwa'],
'dodaj2' => ['nazwa', 'cena]
];
}
[list=1]
[*]Czy jest to odpowiednie podejście? Dobrze rozumiem, że podczas $model->load(…) zostaną przypisane tylko te atrybuty, które zostały podane w scenariuszu?
[*]Czy jest to bezpieczne? Chciałbym uniknąć sytuacji, że ktoś ręcznie zmodyfikuje formularz i np. w formularzu 1 podawa również cenę
[/list]