Артур
foreach(
Артур
$group = ArrayHelper::map($allgroup, 'id', 'Група -'.'name_group');
Артур
когда так делаю)))))
Артур
<?=$form->field($model, 'group')->dropDownList($group,['prompt'=>'Выбрать'])->label("Студент(и)") ?>
Артур
вот так вызываю во view
Артур
наверное лучше буду сразу записывать в базу
Артур
вместе с словом
Artur‌‌‌
yii2 поддерживает вложенные транзакции?
Dmitriy
да
Artur‌‌‌
а походу нет
Artur‌‌‌
у меня с в ложенной транзой не сохраняет объект
Artur‌‌‌
когда делаю 1 уровень, то все норм
Dmitriy
Есть есть
Artur‌‌‌
да есть
Artur‌‌‌
мой косяк
Dmitriy
https://github.com/yiisoft/yii2/commit/bea9e3fc062be891b5254482fb54f3b2941f2592
Пантелеев
Парни никто не знает как в первой yii выбрать запись с максимальным id?
Пантелеев
имею ввиду не sql а с помощью AR
Александр
последнюю запись&
Александр
?
Пантелеев
вероятно она будет последняя
Пантелеев
но все таки условие в том чтобы id был именно максимален
Александр
разве не автоинкремент?
Пантелеев
к сожалению в данной таблице нет)
Пантелеев
там айдишки используются для битовой маски😒
Пантелеев
2 4 8 16
Пантелеев
но с 99.99% вероятность с макс id будет последняя
Пантелеев
пока что я получаю простым запросом максимальный id и по нему ищу запись
Александр
лучше так и оставь ))
Artur‌‌‌
Ордер бай ид + лимит
Ivan
Ордер бай ид + лимит
Очень дорого, лучше лефт джоин с таблицей где отобран макс ид.
Александр
http://stackoverflow.com/questions/27909487/select-last-record-in-the-table
Пантелеев
??
Пантелеев
с однйо таблицей же работаем
Александр
для получения max()
Toly
Простой подзапрос не подойдёт?
Toly
SELECT * FROM table WHERE id = (SELECT MAX(id) FROM table)
Пантелеев
Пантелеев
в принципе я это для миграции пишу, так что не особо важно думаю скорсоть
Toly
А кто сказал, что подзапрос в WHERE - это медленно?) Это как два запроса, только чуть быстрее
Yuriy
так а чем простой запрос с ордер бай и лимит не подошел?)
Yuriy
однозначно он не медленне запроса с подзапросом
SiZE
As a meaningless data point, MIN() took .36s while SORT and LIMIT took .84s against a 106,000 row table on my dev server.
SiZE
Другое дело, что в миграции один раз накатил и забыл :)
SiZE
И вряд ли надо с этим заморачиваться
SiZE
Так что я за order by limit если надо еще другие поля достать
Yuriy
As a meaningless data point, MIN() took .36s while SORT and LIMIT took .84s against a 106,000 row table on my dev server.
так быстрее только для выбора одного поля (id например), но не с подзапросом)
Yuriy
SiZE
Сделал по таблице с 58+ млн записей: с подзапросом — 0.003 .. 0.009 с сортировкой — 0.001 .. 0.003
Nurik
Пффф. Так это уже все СУБД оптимизируют внутри себя.
Artur‌‌‌
Как, при сохранение модели, отключить все бефоры?
Artur‌‌‌
что бы не выполнялся beforeSave()
Artur‌‌‌
и вообще все event'ы
Artur‌‌‌
учитывая что к модели доступа нет
Artur‌‌‌
есть поле created_by, мне туда нужно свои данные впихнуть
Artur‌‌‌
сделал )
pavel
Konstantin
Что лучше camelCase или нижнее подчеркивание в именах полей таблиц базы данных? Работаю с ORM и REST API
Artur‌‌‌
Сделал модель, унаследованную от нужной и переопределил beforeSave()
Artur‌‌‌
имхо
Wolf
в бд подчеркивание
Nurik
нижнее подчеркивание в url можно и не заметить.
SiZE
нижнее подчеркивание )
Anonymous
Подскажите как получить количество связанных записей из связанной таблицы, минимальным количеством запросов, пробовал через ->count(), но так получается слишком много запросов к базе
Nurik
Подскажите как получить количество связанных записей из связанной таблицы, минимальным количеством запросов, пробовал через ->count(), но так получается слишком много запросов к базе
Если yii2, то вот пример: public function getApartmentsCount(){ $count = 0; if($this->getApartments()->exists()){ $count += static::find() ->joinWith('apartments',true,'RIGHT JOIN') ->where(['b_buildings.id'=>'b_apartments.building_id','b_buildings.id'=>$this->id]) ->count(); } return $count; }
Nurik
Можно и в ActiveQuery запихать в select, new Expression("SELECT COUNT(id) FROM tbl") чтобы прям одним запросом
Nurik
Хотя нужно смотреть всегда, где-то лучше сделать 10 запросов, а где-то 1 большой.
Yuriy
http://www.yiiframework.com/doc-2.0/yii-db-connection.html#$enableSchemaCache-detail количество запросов чуть уменьшится
Yuriy
но это не конкретно к этому запросу. а в общем
who are you
подскажите если начал через миграции базу данных пилить то теперь нельзя вручную поля добавлять?
Artur‌‌‌
а зачем вручную?
who are you
потому что вручную сто раз быстрее чем создавать миграции и изучать их синтаксис
Artur‌‌‌
а что сложного в миграции? ) Синтаксис? тот же sql
who are you
там пропиши здесь сохрани там запусти, надо написать так а не вот так... Проще же в пхпадмине пару взмахов сделать. накой чорт так усложнили не понятно
Anonymous
я вон за сегодня 8 миграций долбанул)