who are you
😄
who are you
яндекс с гуглом мне не дали ответа
who are you
никто мультиселект не сохраняет через AR все юзают какой то инсертБатч
who are you
QwService::createFromQwForm(QwForm);
мне сложно понять что это такое (
SiZE
Это самое простое
SiZE
Просто класс
SiZE
Каждый класс за что то отвечает
who are you
Дим может дашь ссылку на пример в инете как сохранять форму с мультиселект где один элемент селекта идет в отдельную строку? я хз как уже гуглить
SiZE
Данные у тебя в запросе в каком виде?
Nurik
никто мультиселект не сохраняет через AR все юзают какой то инсертБатч
batchInsert советуют, потому что там будет вставка в связную таблицу - выбранных значений в селекте. А это значит, что там будет вставка не одной строки, а нескольких, раз это мультиселект.
SiZE
http://www.yiiframework.com/doc-2.0/guide-input-tabular-input.html
who are you
как всё сложно ёклмн , геморроище целый для меня
Nurik
http://shot.hsdn.org/KdDgb3Hm
Если таких полей будет много, то можно заюзать поведение, которое я скинул выше. Там как раз описан этот случай.
SiZE
У тебя на форуме в представлении список с моделью создается
SiZE
А в посте ее нет
who are you
ну стандартно через виджет создается
SiZE
Завтра напишу, если не ответит кто-то раньше. У меня уже глаза слиплись
who are you
who are you
ок) я думаю не ответят ибо это нестандарт)))
Nurik
понял, но я бы хотел что то свое сделать более понятное чем там навертели
А чем не устроил batchInsert() ?И вообще, чем не устроил способ описанный в доке ? link() ?
who are you
А чем не устроил batchInsert() ?И вообще, чем не устроил способ описанный в доке ? link() ?
хотелось везде использовать AR . Способ в доке? может я что то пропустил? Про link() не знаю .
Nurik
хотелось везде использовать AR . Способ в доке? может я что то пропустил? Про link() не знаю .
Я вот, кстати не помню его починили или нет. Потому, что он раньше не вставлял много значений. Лучше заюзать готовое поведение. Типа этого например: https://github.com/cornernote/yii2-linkall
who are you
а поведение заюзается ко всей модели? т.е. любой save будет его юзать?
who are you
я бы не хотел так, я бы хотел еще модель использовать для чего то
Nurik
Там не через save метод а через linkAll будет.
who are you
в закладки сохранил, завтра изучу чо это такое, я поведения не юзал еще )
Nurik
в закладки сохранил, завтра изучу чо это такое, я поведения не юзал еще )
Да там всё просто. Поведение просто расширяет функционал существующей модели. Например как в приведенном выше поведении. Там, добавляется просто метод linkAll, который содержит определенную логику по сохранению связанных моделей.
Nidzha
У меня есть три таблицы. Application->AplicationProducer->Producer
Nidzha
Nidzha
Это таблица Application producer
Nidzha
Мне надо основного производителя выщаить
Nidzha
У основного producer_type_id равен к одному
Nidzha
<cell><![CDATA[{$item->applicationProducers[0]->producer->id}]]></cell>
Nidzha
Я его так вытащил
Nidzha
Но рандомно вытащил одну из них
Nidzha
Как мне его написать, чтобы правильно выводил ?
Nidzha
Вот запрос написла
Nidzha
написал
Nidzha
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
Vlad
а в чем вопрос тогда? я просто не совсем понял. последний запрос выглядит верно
Vlad
как средствами yii такое сделать?
Nidzha
а в чем вопрос тогда? я просто не совсем понял. последний запрос выглядит верно
Да. Он верный. Я чуток подзабыл, как его использовать.
Nidzha
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>"; }
Nidzha
Вот сам цикл которая вытаскивает данные
Nidzha
Тут producer_name не правильный, он должен брать как в запросе
Nidzha
<cell><![CDATA[{$item->applicationProducers[0]->producer->id}]]></cell>
Nidzha
Я вытащил таким образом, хотел проверить правильно ли вытаскивает.
Nidzha
Но он не учитывается producer_type_id
Nidzha
Попытался его внутри модели как criteria написать
Nidzha
код вообще отвалился
Nidzha
)
Vlad
<cell><![CDATA[{$item->applicationProducers[0]->producer->id}]]></cell> а что это вообще за синтаксис? форматирование на вьюхе в виде таблицы?
Nidzha
да
Nidzha
В другом контроллере я через функцию вызывал
Nidzha
Такой же синтаксис тут он не принял
Nidzha
пришлось в обход делать
Nidzha
и тут такие загвоздки вышли
Nidzha
Вот он с модели вызывает вот эту функцию
Nidzha
Nidzha
Nidzha
Вот сам контроллер
SiZE
тебе надо получить основного продюссера для аппликейшена?
Nidzha
да
Nidzha
тебе надо получить основного продюссера для аппликейшена?
Ранее похожем контроллере брат таким образом
Nidzha
<cell><![CDATA[{$item->registerProducers[0]->getName()}]]></cell>
Nidzha
public function getName() { if ($this->language_sign == 0){ return $this->producer->name; } else return $this->producer->name_eng; }
Nidzha
а внутри модели дописал критерию
Nidzha
$criteria->compare('registerProducers.producer_type_id', '1');
Nidzha
а в application что-то идет не так
SiZE
это первая версия?
SiZE
А вижу
SiZE
public function relations () { return array( 'mainProducer' => array(self::MANY_MANY, 'Producer', "{{application_producer}}('application_id', 'producer_id')", 'condition' => "producer_type_id=1" ); }