@yii2ru

Страница 103 из 1721
Alexey
14.03.2017
14:23:47
это норма вообще?

Смотрел тестики join в мускуле, там порядка 800к секунду

которыми тут не пахнет даже рядом

SiZE
14.03.2017
14:46:52
кто ж его знает чо у тебя в логике и в базе

Google
Alexey
14.03.2017
15:04:12
Вообще возник такой вопрос. Какой из способов лучше. 1) Получать сущности уже совсеми связями 2) Получать сущности и связи отдельно и уже на клиенте их сопоставляеть если нужно. Первый требует join, второй просто больше запросов

Sergey
14.03.2017
15:09:33
тот который передаст меньше данных по сети

Artur
14.03.2017
15:47:46
почему я не могу в namespace написать слово form например namespace app\models\form; ?

http://dl3.joxi.net/drive/2017/03/14/0022/1272/1488120/20/49911c9609.jpg

Sergey
14.03.2017
15:51:16
Наведи на текст мышкой и прочитай ошибку

Artur
14.03.2017
15:52:41
корчое хуйня какая то. Глюк иде. поставил перед form еще пару букв, потом удалил их

и норм

Dmytro
14.03.2017
16:00:48
у шторма такое бывает

Konstantin
14.03.2017
20:28:59
http://yiiframework.ru/forum/viewtopic.php?f=19&t=42816

не пойму как быть с актив рекорд когда мультиселект и нужно вставить этот мультиселект в разные строки а не в одну через разделитель

валидатор ожидает массив а когда я применяю метод save там уже строка сохраняется а не массив, вот в чем загвоздка

SiZE
14.03.2017
20:32:11
foreach ($model->name as $name){ $model = new Qw(); $model->name = $name; $model->save(); }

Google
SiZE
14.03.2017
20:32:17
это конечно пять

Konstantin
14.03.2017
20:32:54
ну а как я сохраню каждый селект выбранный в отдельную строку?

вот подумал что его надо форычем пройти

SiZE
14.03.2017
20:33:30
во первых создать класс формы (extends Model)

во вторых создать сервисный слой, куда передать форму и который заполнит модели данными и вызовет метод сохранения

QwService::createFromQwForm(QwForm);

вот подумал что его надо форычем пройти
как думаешь если вызвать while(true){} что будет? :)

это риторический вопрос

а если while ($row = true) { $row = false; } ?

Konstantin
14.03.2017
20:38:32
?

яндекс с гуглом мне не дали ответа

никто мультиселект не сохраняет через AR все юзают какой то инсертБатч

QwService::createFromQwForm(QwForm);
мне сложно понять что это такое (

SiZE
14.03.2017
20:41:43
Это самое простое

Просто класс

Каждый класс за что то отвечает

Konstantin
14.03.2017
20:43:03
Дим может дашь ссылку на пример в инете как сохранять форму с мультиселект где один элемент селекта идет в отдельную строку? я хз как уже гуглить

SiZE
14.03.2017
20:45:15
Данные у тебя в запросе в каком виде?

Konstantin
14.03.2017
20:46:18
Google
Nurik
14.03.2017
20:46:36
никто мультиселект не сохраняет через AR все юзают какой то инсертБатч
batchInsert советуют, потому что там будет вставка в связную таблицу - выбранных значений в селекте. А это значит, что там будет вставка не одной строки, а нескольких, раз это мультиселект.

SiZE
14.03.2017
20:47:30
http://www.yiiframework.com/doc-2.0/guide-input-tabular-input.html

Konstantin
14.03.2017
20:49:36
как всё сложно ёклмн , геморроище целый для меня

Nurik
14.03.2017
20:49:36
http://shot.hsdn.org/KdDgb3Hm
Если таких полей будет много, то можно заюзать поведение, которое я скинул выше. Там как раз описан этот случай.

SiZE
14.03.2017
20:49:54
У тебя на форуме в представлении список с моделью создается

А в посте ее нет

Konstantin
14.03.2017
20:50:38
ну стандартно через виджет создается

SiZE
14.03.2017
20:52:10
Завтра напишу, если не ответит кто-то раньше. У меня уже глаза слиплись

Konstantin
14.03.2017
20:52:12
ок) я думаю не ответят ибо это нестандарт)))

Nurik
14.03.2017
21:07:18
понял, но я бы хотел что то свое сделать более понятное чем там навертели
А чем не устроил batchInsert() ?И вообще, чем не устроил способ описанный в доке ? link() ?

Konstantin
14.03.2017
21:09:23
А чем не устроил batchInsert() ?И вообще, чем не устроил способ описанный в доке ? link() ?
хотелось везде использовать AR . Способ в доке? может я что то пропустил? Про link() не знаю .

Nurik
14.03.2017
21:12:18
хотелось везде использовать AR . Способ в доке? может я что то пропустил? Про link() не знаю .
Я вот, кстати не помню его починили или нет. Потому, что он раньше не вставлял много значений. Лучше заюзать готовое поведение. Типа этого например: https://github.com/cornernote/yii2-linkall

Konstantin
14.03.2017
21:13:27
а поведение заюзается ко всей модели? т.е. любой save будет его юзать?

я бы не хотел так, я бы хотел еще модель использовать для чего то

Nurik
14.03.2017
21:16:08
Там не через save метод а через linkAll будет.

Konstantin
14.03.2017
21:24:40
в закладки сохранил, завтра изучу чо это такое, я поведения не юзал еще )

Nurik
14.03.2017
21:29:30
в закладки сохранил, завтра изучу чо это такое, я поведения не юзал еще )
Да там всё просто. Поведение просто расширяет функционал существующей модели. Например как в приведенном выше поведении. Там, добавляется просто метод linkAll, который содержит определенную логику по сохранению связанных моделей.

Google
Nidzhat
15.03.2017
04:37:21
У меня есть три таблицы. Application->AplicationProducer->Producer



Это таблица Application producer

Мне надо основного производителя выщаить

У основного producer_type_id равен к одному

<cell><![CDATA[{$item->applicationProducers[0]->producer->id}]]></cell>

Я его так вытащил

Но рандомно вытащил одну из них

Как мне его написать, чтобы правильно выводил ?

Admin
ERROR: S client not available

Nidzhat
15.03.2017
04:42:08
<cell><![CDATA[{$item->applicationProducers[0]->producer->id}]]></cell>
Я тут просто вытаскивал Idшники

Вот запрос написла

написал

SELECT producers.name, applications.id FROM applications INNER JOIN application_producers ON applications.id = application_producers.application_id INNER JOIN producers ON application_producers.producer_id = producers.id WHERE (application_producers.producer_type_id = 1) and applications.id = 12546

Nidzhat
15.03.2017
05:23:43
Just
15.03.2017
05:24:14
а в чем вопрос тогда? я просто не совсем понял. последний запрос выглядит верно

как средствами yii такое сделать?

Nidzhat
15.03.2017
05:24:58
а в чем вопрос тогда? я просто не совсем понял. последний запрос выглядит верно
Да. Он верный. Я чуток подзабыл, как его использовать.

foreach ($dataProvider->data as $item) { $data .= "<row id=\"$item->id\"> <cell><![CDATA[{$item->id}]]></cell> <cell><![CDATA[" . date('d.m.Y', strtotime($item->fk_date)) . "]]></cell> <cell><![CDATA[{$item->name}]]></cell> <cell><![CDATA[{$item->regType->name}]]></cell> <cell><![CDATA[{$item->regAction->name}]]></cell> <cell><![CDATA[{$item->producer_name}]]></cell> <cell><![CDATA[{$item->declarant_name}]]></cell> </row>"; }

Google
Nidzhat
15.03.2017
05:25:20
Вот сам цикл которая вытаскивает данные

Тут producer_name не правильный, он должен брать как в запросе

<cell><![CDATA[{$item->applicationProducers[0]->producer->id}]]></cell>

Я вытащил таким образом, хотел проверить правильно ли вытаскивает.

Но он не учитывается producer_type_id

Попытался его внутри модели как criteria написать

код вообще отвалился

)

Just
15.03.2017
05:28:32
<cell><![CDATA[{$item->applicationProducers[0]->producer->id}]]></cell> а что это вообще за синтаксис? форматирование на вьюхе в виде таблицы?

Nidzhat
15.03.2017
05:34:16
да

В другом контроллере я через функцию вызывал

Такой же синтаксис тут он не принял

пришлось в обход делать

и тут такие загвоздки вышли

Вот он с модели вызывает вот эту функцию





Вот сам контроллер

SiZE
15.03.2017
05:42:29
тебе надо получить основного продюссера для аппликейшена?

Nidzhat
15.03.2017
05:48:47
да

тебе надо получить основного продюссера для аппликейшена?
Ранее похожем контроллере брат таким образом

<cell><![CDATA[{$item->registerProducers[0]->getName()}]]></cell>

Страница 103 из 1721