Пример #1
0
 public function search($params)
 {
     $query = Device::find();
     // add conditions that should always apply here
     $dataProvider = new ActiveDataProvider(['query' => $query]);
     /**
      * Настройка параметров сортировки
      * Важно: должна быть выполнена раньше $this->load($params)
      * statement below
      */
     $dataProvider->setSort(['attributes' => ['id', 'typeDeviceName' => ['asc' => ['type_device.name_type' => SORT_ASC], 'desc' => ['type_device.name_type' => SORT_DESC], 'label' => 'Тип прибора'], 'name_device', 'serial', 'usdName' => ['asc' => ['usd.name_usd' => SORT_ASC], 'desc' => ['usd.name_usd' => SORT_DESC], 'label' => 'Сборщик'], 'work_device']]);
     if (!($this->load($params) && $this->validate())) {
         /**
          * Жадная загрузка данных типа приборов
          * для работы сортировки.
          */
         $query->joinWith(['idTypeDevice']);
         $query->joinWith(['idUsd']);
         return $dataProvider;
     }
     // grid filtering conditions
     $query->andFilterWhere(['device.id' => $this->id, 'id_type_device' => $this->id_type_device, 'id_usd' => $this->id_usd, 'work_device' => $this->work_device]);
     $query->andFilterWhere(['like', 'name_device', $this->name_device])->andFilterWhere(['like', 'serial', $this->serial]);
     // Фильтр по сборщику
     $query->joinWith(['idUsd' => function ($q) {
         $q->andFilterWhere(['like', 'usd.name_usd', $this->usdName]);
     }]);
     // Фильтр по типу прибора
     $query->joinWith(['idTypeDevice' => function ($q) {
         $q->andFilterWhere(['like', 'type_device.name_type', $this->typeDeviceName]);
     }]);
     return $dataProvider;
 }
Пример #2
0
Файл: Start.php Проект: robky/tb
 public function getDevice($id)
 {
     try {
         //Получаем весь массив данных из таблицы
         $q = Device::find()->select(['id'])->where(['id_usd' => $id, 'work_device' => '1'])->createCommand()->queryAll();
     } catch (\Exception $e) {
         echo "Something went wrong of get Device\n";
         throw $e;
         return FALSE;
     }
     return $q;
 }
Пример #3
0
 public function actionIn()
 {
     if (User::hasRole('admin')) {
         $model = new Device();
         //$dataProvider = $searchModel->search(Yii::$app->request->queryParams);
         //\Yii::trace('### ### ### Тест лога');
         //\Yii::trace(Yii::$app->request->post());
         if ($model->load(Yii::$app->request->post())) {
             //\Yii::trace('### ### ### If');
             //return $this->redirect(['/table/device/view', 'id' => $model->id]);
             $searchModel = new DataListSearch();
             $dataProvider = $searchModel->search(['DataListSearch' => ['id_device' => $model->id, 'typeDataRef' => 'b']]);
             //Получаем массив данных из таблицы
             $allq = DataList::find()->select(['data_list.id', 'number', 'time_point'])->joinWith('idDataRef')->where(['id_device' => $model->id, 'type_data_ref' => 'b'])->createCommand()->queryAll();
             return $this->render('in', ['model' => $model, 'r' => 1, 'dataProvider' => $dataProvider, 'qwery' => $allq]);
         } else {
             //\Yii::trace('### ### ### Else');
             return $this->render('in', ['model' => $model, 'r' => NULL]);
         }
     } else {
         throw new NotFoundHttpException('Страница не найдена.');
     }
 }
Пример #4
0
 /**
  * @return \yii\db\ActiveQuery
  */
 public function getDevices()
 {
     return $this->hasMany(Device::className(), ['id_type_device' => 'id']);
 }
Пример #5
0
Файл: _form.php Проект: robky/tb
/* @var $model app\models\system\DataList */
/* @var $form yii\widgets\ActiveForm */
?>

<div class="row">
   <div class="col-lg-5">
      <div class="data-list-form">

         <?php 
$form = ActiveForm::begin();
?>
 

         <?php 
//Получаем все приборы
$d1 = Device::find()->orderBy('name_device')->all();
//Формируем массив с ключем равным полю 'id' и значением равным полю 'name'
$items1 = ArrayHelper::map($d1, 'id', 'name_device');
$params1 = ['prompt' => 'Выберите прибор'];
echo $form->field($model, 'id_device')->dropDownList($items1, $params1);
?>
 

         <?php 
//Получаем все каналы
$d2 = DataRef::find()->orderBy('name_ref')->all();
//Формируем массив с ключем равным полю 'id' и значением равным полю 'name'
$items2 = ArrayHelper::map($d2, 'id', 'name_ref');
$params2 = ['prompt' => 'Выберите'];
echo $form->field($model, 'id_data_ref')->dropDownList($items2, $params2);
?>
Пример #6
0
Файл: Tree.php Проект: robky/tb
 /**
  * @return \yii\db\ActiveQuery
  */
 public function getDevice()
 {
     return $this->hasOne(Device::className(), ['id' => 'id_device']);
 }
Пример #7
0
 /**
  * Finds the Device model based on its primary key value.
  * If the model is not found, a 404 HTTP exception will be thrown.
  * @param integer $id
  * @return Device the loaded model
  * @throws NotFoundHttpException if the model cannot be found
  */
 protected function findModel($id)
 {
     if (($model = Device::findOne($id)) !== null) {
         return $model;
     } else {
         throw new NotFoundHttpException('Запрашиваемая страница не существует.');
     }
 }