
Firs
21.09.2017
06:36:23
Нууу, как вариант связи прописать в моделях (методы hasOne hasMany) составить запрос используя with и joinWith
Для связи моделей
Структуру таблиц, моделей в студию, так проще ответить конкретно

Sergey
21.09.2017
06:41:26
таблица base https://pastebin.com/K2jjJ1ag

Google

Sergey
21.09.2017
06:42:46
таблица devices https://pastebin.com/E17vVigH

Firs
21.09.2017
06:50:25
Хмм... А связь через какое поле?

Sergey
21.09.2017
06:55:24
там во вюхе 2 цикла первый использует в моделе 2 запроса по методам getMonitor и getVer и в нутри ещё один цикл который использует getEdate и getTypes

Firs
21.09.2017
06:57:10
Я про таблицы, как они связаны?

Sergey
21.09.2017
06:57:18
они используют несколько полей

Firs
21.09.2017
06:58:07
Окей.... в студию методы эти методы
*эти методы


Sergey
21.09.2017
06:58:50
public function getMonitor($id_dev = 0){
$crit = new CDbCriteria();
$crit->condition = "billModem <> 'NULL' AND imei = '".$id_dev."'";
$crit->limit = 1;
$crit->order = "edate DESC";
return $this->find($crit);
}
public function getEdate($imei){
$crit = new CDbCriteria();
$crit->condition = "imei = '".$imei."'";
$crit->order = "edate DESC";
$crit->limit = 1;
return $this->find($crit);
}
public function getTypes($imei, $edate){
$crit = new CDbCriteria();
//$crit->select = "MAX(edate) as flag, edate, type, numDev, imei, statusDev";
$crit->condition = "imei = '".$imei."'";
$crit->condition.= " AND statusDev <> '' AND statusDev <> 'NULL' AND edate = '".$edate."'";
$crit->group = "type, numDev";
$crit->distinct = true;
$crit->order = "edate DESC";
return $this->findAll($crit);
}
public function getVer($imei){
$crit = new CDbCriteria();
$crit->condition = "imei = '".$imei."'";
$crit->condition.= " AND fvVer <> ''";
$crit->order = "date DESC";
$crit->limit = 1;
return $this->find($crit);
}


Firs
21.09.2017
07:13:06
Сложна..... 1. Надо понять что тут вообще происходит
(Запрос по критериям)
2. По каким полям связаны таблицы(?)
3. Обозначить связь в модели(
Что то типо
Public function getCriteria(){
Return hasOne(имя класса,[столбец критерия => столбец текущей мрдели]);
}
)
В зависимости от типа 1:1 или 1:m
И теперь сам запрос

Sergey
21.09.2017
07:14:59
как пример такая логика, скрипт должен брать с таблицы devices imei устройства и по этому imei искать в таблице base информацию об устройстве
ну это на сколько я понимаю

Google

Sergey
21.09.2017
07:16:59
проблема в том что все запросы лежат в цикле и скрипт до ужаса долго грузит информацию

Firs
21.09.2017
07:17:32
Ооо есть контакт, в том методе imei=>зависимая таблица
Да понял я, прост из далека начал объяснять
*зависимый столбец
Теперь сам запрос:
Find()->with(имя метода связи без get )->sort(ну тут понятно)->limit(количество записей)->all();
С тлф трудно писать...
Во вьюху это передаем
Обращаемся так, если нужно обратиться к зависимой просто обращаемся через ->
$model->criteria->id; например
Что произошло: В том запросе получили большую сводную таблицу по imei запихали это все в объекты, пользуемся
Если надо массив, то isArray метод
Тфу... asArray

Sergey
21.09.2017
07:32:19
а вы за пк скоро будете?

Firs
21.09.2017
07:32:34
Через неделю
Отдызаю
Отдыхаю

Павел
21.09.2017
07:34:17
В чем суть ?
Я не пойму проблему

Firs
21.09.2017
07:34:53
Доку пересказал по своему?

Павел
21.09.2017
07:35:29
Ну связь one-to-one и грузится сразу. Без ленивой подгрузки. Имхо не надо даже with

Google

Viacheslav
21.09.2017
08:21:58
Всех приветствую.
Хочу начать изучить Yii2, что порекоммендуете?

Dmitry
21.09.2017
08:24:02

Владимир
21.09.2017
08:24:06

Viacheslav
21.09.2017
08:24:42

Антон
21.09.2017
08:25:24

Viacheslav
21.09.2017
08:26:32
Этого пока хватит ; )
Где с правилами группы можно ознакомиться и кто Админ?

Павел
21.09.2017
08:31:46
Админ это тот кого нельзя называть
А вообще в списке участников видно кто админ

Stas
21.09.2017
08:32:28
по ходу он с крыма так и нернулся:) одни фотки остались

Павел
21.09.2017
08:32:52
Правила такие: апач тут не настраиваем, стикеров не жалеем, помогаем бесплатно или за еду

Павел
21.09.2017
08:33:09
Админ тот

Viacheslav
21.09.2017
08:34:57
примерно понял расклады, а кто такие стикеры? :)

?
21.09.2017
08:35:10
такие

Admin
ERROR: S client not available

Антон
21.09.2017
08:36:17
graphQL кто-нибудь реализовывал на yii?

Viacheslav
21.09.2017
08:42:37
ок ??
ушел учить матчасть, всем удачного и позитивного дня ; )

Google

M
21.09.2017
08:43:09

Stas
21.09.2017
08:43:51
/link@yetanotherstatsbot

Dmitry
21.09.2017
08:44:43
Какой позитивный малый :) Придет через 2 месяца и начнется "Лошара, иди доку читай" и т.д. )))

Stas
21.09.2017
08:45:01

Maxim
21.09.2017
08:45:30
кажется из четырех

Stas
21.09.2017
08:46:20

mrG1K
21.09.2017
08:46:39
Ребят подскажите пожалуйста валидатор с валидацией по базе по составному ключу из нескольких колонок..

SiZE
21.09.2017
08:47:05

mrG1K
21.09.2017
08:47:23
валидатор в модельку формы

Антон
21.09.2017
08:48:44
в том числе и про авторизацию и пагинацию

Maxim
21.09.2017
08:50:04
@mrG1K а чем UniqueValidator не подходит?

mrG1K
21.09.2017
08:50:53

Maxim
21.09.2017
08:51:43
@mrG1K https://yiiframework.com.ua/ru/doc/guide/2/tutorial-core-validators/#unique

mrG1K
21.09.2017
08:52:23

Dmitriy
21.09.2017
08:56:56
/link@yetanotherstatsbot

first
21.09.2017
10:31:21
ребзя,а чтобы класс у формы задать,нужно же так её объявить?
ActiveForm::begin(['class' => 'form-inline','method' => 'get']);

Антон
21.09.2017
10:33:40
Тебе для чего?

first
21.09.2017
10:34:26
ну...чтобы класс у формы был)
<form id="w0" method="get" >
Сейчас строится такая форма,хоть я и указываю класс....

Google

?
21.09.2017
10:36:10
а в мануал заглянуть не судьба ?

Erkin
21.09.2017
10:36:20
$form = ActiveForm::begin([
'options' => [
'class' => 'test'
],
]);

first
21.09.2017
10:38:37
??Спасиб большое