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.
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#
Dobra już wiem co muszę zrobić