2017-01-23 2 views
0

Ich habe drei Tabellen wie folgt aus:Yii2 Krajee TreeViewInput Widget, wie mehrere auswählen?

objects (id , name , tags , ...) 
tags (id , name , ...) 
object_tags(id , objectID , tagID) 

I krajee treeView input verwendet und in meiner "Objekte" Form ich habe:

$form->field($model, 'tags')-> 
       widget(\kartik\tree\TreeViewInput::className(),[ 
        'name' => 'kvTreeInput', 
        'value' => 'false', // preselected values 
        'query' => Tags::find()->addOrderBy('root, lft')->name, 
        'headingOptions' => ['label' => 'تگ'], 
        'rootOptions' => ['label'=>'<i class="fa fa-building"></i>'], 
        'fontAwesome' => true, 
        'asDropdown' => true, 
        'multiple' => true, 
        'options' => ['disabled' => false] 
       ]); 

Aber ich habe keine Ahnung, wie soll ich die Codes in meinem Controller schreiben oder in meinem Modell !!!

+0

Wie soll ich verwandte Zeilen in meinem „Tags einfügen " Tabelle???!!!! –

Antwort

0

In Ihrer Aktion sollten Sie den Posten Ergebnis iterieren

Dies ist nur eine kleine Anregung Sie den Code auf Ihren spezifischen Bedarf im Zusammenhang muß hinzufügen

public function actionYourAction() 
    { 
     $post = Yii::$app->request->post(); 

     if (!empty($post)){ 

      $postTags = $post['tags']; 
      foreach ($postASCCId as $key => $value) { 

        $modelNew = new YourModel(); 

        $modelNew->tag = $value; 

        $modelNew->save(); 
      } 
     } 
     ..... 
    } 
+0

Kann ich das in meiner create action verwenden? –

+0

sollten Sie den entsprechenden Code dort platzieren, wo Sie .. in create action .. benötigen, wo Sie das Speichern des Modells, das Sie erstellen, ausführen .. aber auch in update (vorheriges Entfernen der alten Werte) .. – scaisEdge