简体   繁体   中英

Yii2 Krajee TreeViewInput widget , how to use multiple select?

I have three tables like this :

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

I used krajee treeView input and in my "objects" form I have :

$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]
              ]);

But I have no idea how should I write the codes in my controller or in my model!!!

In your action you should iterate over the post result

This is just a brief suggestion you must add the code related to your specific need

  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();
          }
      }  
      .....
  } 

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM