/** * Get All User List for Searching with ajax in select2 widget * @param char $search query search * @param integer $id id of user * @return array ['user_id'=>'User Profile Name'] **/ public function actionSearchUser($search = null, $id = null) { $out = ['more' => false]; $q = new Query(); if (!is_null($search)) { $q->select('usr.id, prf.name as text')->from(ResUsers::tableName() . ' as usr')->leftJoin(ResPartner::tableName() . ' prf', 'prf.id=usr.partner_id')->where('LOWER(prf.name) LIKE :search OR LOWER(usr.login) like :search')->addParams([':search' => '%' . strtolower($search) . '%']); $users = $q->createCommand()->queryAll(); $out['results'] = array_values($users); } elseif ($id > 0) { $out['results'] = ['id' => $id, 'text' => ResUsers::find()->where(['id' => $id])->with('partner')->one()->partner->name]; } else { $out['results'] = ['id' => 0, 'text' => 'No matching records found']; } echo Json::encode($out); }
<div class="col-md-12"> <?php /*$data = ResUsers::find() ->select(['login as value', 'login as label', 'id as id']) ->asArray() ->all(); echo $form->field($model, 'user_id')->widget(\yii\jui\AutoComplete::classname(), [ 'clientOptions' => [ 'source' => $data, ], ])->textInput()->label('Group')*/ ?> <?php // $data = ArrayHelper::getColumn(ResUsers::find()->select('login')->distinct()->all(),'login'); echo $form->field($model, 'tag_user')->widget(Select2::classname(), ['name' => 'tag_user', 'data' => ArrayHelper::map(ResUsers::find()->select('login')->distinct()->all(), 'login', 'login'), 'options' => ['placeholder' => 'Cari Sales...', 'class' => 'form-controler', 'multiple' => true]])->label('Sales Man'); ?> </div> <div class="col-md-12"> <?php /*$data = ResPartner::find() ->select(['display_name as value', 'display_name as label', 'id as id']) ->asArray() ->all(); echo $form->field($model, 'partner_id')->widget(\yii\jui\AutoComplete::classname(), [ 'clientOptions' => [ 'source' => $data, ], ])->textInput()->label('Costumer') */ ?>
public function actionGetAllCreatorList($search, $id = null) { $out = ['more' => false]; $q = new \yii\db\Query(); if (!is_null($search)) { // $soCreator = array_values(\yii\helpers\ArrayHelper::map(SaleOrder::find()->distinct()->select('create_uid')->asArray()->all(),'create_uid','create_uid')); // var_dump($soCreator); $users = ResUsers::find()->select('id, login as text')->where('lower(login) like :loginSearch')->addParams([':loginSearch' => '%' . $search['term'] . '%']); // var_dump($users->createCommand()->queryAll()); $out['results'] = array_values($users->createCommand()->queryAll()); } elseif ($id > 0) { $out['results'] = ['id' => $id, 'text' => ResUsers::find()->where(['id' => $id])->with('partner')->one()->partner->name]; } else { $out['results'] = ['id' => 0, 'text' => 'No matching records found']; } echo \yii\helpers\Json::encode($out); }