Dodanie do tabeli w relacji

Hejka

Nie mogę znaleźć trutoriala ani załapać jak zrobić pole które przy wypełnieniu nie tylko pozwala wybrać wartości z relacji ale też dodać nową wartość. Nie wiem czy czytelnie to opisuje pisząc na kolanie. Z góry dzięki za pomoc.

Pokaże to na przykładzie YII2 dodawania/aktalizowania nowego artykułu, z relacją do tabeli z kategoriami artykułów.

Najpierw w kontrolerze pobieramy dwa modele:

use common\models\Strony;

use common\models\Category;

i inne potrzebne rzeczy do tego co urzyłem

use kartik\widgets\Select2;

use yii\helpers\ArrayHelper;

Pobieranie danych z innej tabeli


$groups=Category::find()->all();

$listData=ArrayHelper::map($groups,'id','name');

Pole select2 podczas aktualizacji będzie przypisywać category_ID dla danej nazwy Kategorii.




echo $form->field($model, 'category_id')->widget(Select2::classname(), [

'data' => array_merge(["" => ""], $listData),

'options' => ['placeholder' => 'Wybierz kategorię'],

'pluginOptions' => [

'allowClear' => true

],

]);

Te rozwiązanie nie posiada zdolności dodawania nowej wartości. Kategorie trzeba tworzyć wcześniej w dziale kategorie. Ale może łatwiej Ci będzie

Jeżeli stowrzysz relacje w Mysql to Gii tworząc Ci model sam wygeneruje funkcje relacyjne.

Możesz o tym poczytać w

http://www.yiiframework.com/doc-2.0/guide-db-active-record.html

Ok sprawdziłem

Mea culpa:D

powaliły Mi się języczki:D

Chciałem w HTMLu mieć Listę Rozwijalna jak w C# :D

Dobra już wiem co muszę zrobić:D