Найдено 780 результатов
- 2017.08.23, 01:39
- Форум: Общие вопросы по программированию
- Тема: Оптимизировать
- Ответы: 27
- Просмотры: 6533
Re: Оптимизировать
1) Попробуйте запрос. Вытащите одним запросом: айди_подкатегории + каунт(посты в подкатегории) группе бай айди_подкатегории. 2) Считайте кроном (избавит от лага при невалидном кеше). 3) Считайте в момент добавления\удаления. Последние 2 варианта - кеш. Но, не зная предметной области и объем данных, ...
- 2017.08.18, 02:23
- Форум: Общие вопросы (Yii 2.x)
- Тема: Nav (виджет меню) вопрос по class="active"
- Ответы: 7
- Просмотры: 2833
Re: Nav (виджет меню) вопрос по class="active"
Попробуйте вывести Yii::$app->controller->action->uniqueId и Yii::$app->controller->actionParams на странице и посмотреть, какие значения они принимают. В любом случае способ 100% рабочий, проверьте Yii::$app->request->get('type') === 'open'. actionParams не будет содержать type, если в экшене он н...
- 2017.08.15, 20:28
- Форум: Общие вопросы (Yii 2.x)
- Тема: Как вывести через Active Record или запросом самые покупаемые товары?
- Ответы: 10
- Просмотры: 3202
Re: Как вывести через Active Record или запросом самые покупаемые товары?
У вас ошибки из-за того, что БД хочет видеть в SELECT только уникальные значения или результат агрегации.
https://dev.mysql.com/doc/refman/5.7/en ... dling.html
Можете ONLY_FULL_GROUP_BY отключить в БД.
По второму: у вас нет таблицы m_product (groupBy('m_product.id')), есть m_products.
https://dev.mysql.com/doc/refman/5.7/en ... dling.html
Можете ONLY_FULL_GROUP_BY отключить в БД.
По второму: у вас нет таблицы m_product (groupBy('m_product.id')), есть m_products.
- 2017.08.15, 20:15
- Форум: Общие вопросы (Yii 2.x)
- Тема: Nav (виджет меню) вопрос по class="active"
- Ответы: 7
- Просмотры: 2833
Re: Nav (виджет меню) вопрос по class="active"
Попробуйте вывести Yii::$app->controller->action->uniqueId и Yii::$app->controller->actionParams на странице и посмотреть, какие значения они принимают. В любом случае способ 100% рабочий, проверьте Yii::$app->request->get('type') === 'open'. actionParams не будет содержать type, если в экшене он не...
- 2017.08.10, 18:03
- Форум: Общие вопросы (Yii 2.x)
- Тема: Nav (виджет меню) вопрос по class="active"
- Ответы: 7
- Просмотры: 2833
Re: Nav (виджет меню) вопрос по class="active"
active => Yii::$app->controller->action->uniqueId == 'xxx' && Yii::$app->controller->actionParams['type'] === 'yyy'
И подобные вариации. + проверить на существование Yii::$app->controller->actionParams[xxx]
И подобные вариации. + проверить на существование Yii::$app->controller->actionParams[xxx]
- 2017.08.03, 02:57
- Форум: Общие вопросы (Yii 2.x)
- Тема: Выбрать товары с несколькими параметрами одновременно (фильтр EAV)
- Ответы: 6
- Просмотры: 2745
Re: Выбрать товары с несколькими параметрами одновременно (фильтр EAV)
innerJoinWith() хорошо работает с алиасами. Например при innerJoinWith(['relation1 r1', 'relation1.relation2 r2']) будет все ок. Причем, используя 3 параметр простого joinWith(), можно конкретно указывать какой именно join(left, inner) использовать.
- 2017.08.02, 22:34
- Форум: Общие вопросы (Yii 2.x)
- Тема: Выбрать товары с несколькими параметрами одновременно (фильтр EAV)
- Ответы: 6
- Просмотры: 2745
Re: Выбрать товары с несколькими параметрами одновременно (фильтр EAV)
Будет сложно и долго. Рассмотрите вариант с использованием поискового движка. Код писать лень, но если все же силами текущей БД, то сделайте метод который добавляет в ActiveQuery нужные части запроса. $alias = 'f' . ++$this->aliasCounter; $query->innerJoinWith(['parameterValues ' . $alias => functio...
- 2017.08.02, 22:23
- Форум: Общие вопросы (Yii 2.x)
- Тема: Реализация хранения меню в бд
- Ответы: 15
- Просмотры: 4383
Re: Реализация хранения меню в бд
1) Этот раздел для yii2.
2) Выводить циклом... Обертка на ваш вкус.
2) Выводить циклом... Обертка на ваш вкус.
- 2017.08.02, 22:05
- Форум: Общие вопросы (Yii 2.x)
- Тема: Запрос sql с average с помощью AR
- Ответы: 2
- Просмотры: 1295
Re: Запрос sql с average с помощью AR
Через жадную загрузку так не сделать.
Можете закешировать в поле в БД.
Можете закостылить, добавив в модель поле $starsAvg. В запросе сделать join и добавить select(['вашатаблица.*', 'starsAvg' => 'AVG()'])
Можете закешировать в поле в БД.
Можете закостылить, добавив в модель поле $starsAvg. В запросе сделать join и добавить select(['вашатаблица.*', 'starsAvg' => 'AVG()'])
- 2017.08.02, 21:57
- Форум: Общие вопросы (Yii 2.x)
- Тема: Реализация хранения меню в бд
- Ответы: 15
- Просмотры: 4383
Re: Реализация хранения меню в бд
http://php.net/manual/ru/control-structures.foreach.php или http://www.yiiframework.com/doc-2.0/yii-widgets-menu.html Если предположить, что урлы хранятся строками, то для определения активного пункта меню вам придется либо приводить его к маршрут и сравнивать с текущим, либо наоборот, приводить тек...
- 2017.08.02, 21:42
- Форум: Общие вопросы (Yii 2.x)
- Тема: Relation 2 таблицы в разных базах
- Ответы: 7
- Просмотры: 2238
Re: Relation 2 таблицы в разных базах
Вы можете создавать "связи" для разных БД, но не можете делать джоины.
- 2017.08.02, 21:37
- Форум: Общие вопросы (Yii 2.x)
- Тема: Выбрать товары с несколькими параметрами одновременно (фильтр EAV)
- Ответы: 6
- Просмотры: 2745
Re: Выбрать товары с определенными параметрами одновременно (фильтр)
У вас EAV... Чтобы фильтровать по n атрибутам, вам нужно n раз для каждого атрибута сделать join (лучше inner), чтобы привести к "линейному" виду. https://www.slideshare.net/billkarwin/sql-antipatterns-strike-back/24-EntityAttributeValue_Difcult_to_reconstruct_a По аналогии с этим, только ...
- 2017.07.21, 23:38
- Форум: Общие вопросы (Yii 2.x)
- Тема: Кол-во обращений к базе
- Ответы: 36
- Просмотры: 9225
Re: Кол-во обращений к базе
Какое количество запросов должно быть для адекватной работы сайта? К примеру это готовый блог или cms, на данный момент на простеньком сайте заявок у меня 20 запросов, это нормально? А если я допилю профиль и ещё несколько функций дойдет до 100 примерно. И вообще от чего зависит уменьшение запросов...
- 2017.07.21, 03:03
- Форум: Общие вопросы (Yii 2.x)
- Тема: Удалить запись, которая связана с другой записью в бд через RESTRICT
- Ответы: 14
- Просмотры: 4952
Re: Удалить запись, которая связана с другой записью в бд через RESTRICT
Я не могу проверить возможность удаления записи Такого не бывает. В нормальном приложении это делается так. 1. Пользователь ткнул кнопку, пошёл запрос на действие. 2. Контроллер начал выполнять действие. 3. В действии выполняется проверка - "а разрешено ли нам удалять эту запись"? Мыслим ...
- 2017.07.21, 02:02
- Форум: Общие вопросы (Yii 2.x)
- Тема: Передача в виде параметра значения из модального окна
- Ответы: 8
- Просмотры: 3066
Re: Передача в виде параметра значения из модального окна
Собираетесь текст get параметром передавать ('reason'=>" TEXT TEXT TEXT")? Парсить url собираетесь?
Не проще сделать форму со скрытым полем, в которое будет добавляться текст, после чего отправлять. Или форму положить в модальное окно, но менять action на нужный.
Не проще сделать форму со скрытым полем, в которое будет добавляться текст, после чего отправлять. Или форму положить в модальное окно, но менять action на нужный.
- 2017.07.10, 15:25
- Форум: Общие вопросы (Yii 2.x)
- Тема: Построение SQL запроса
- Ответы: 8
- Просмотры: 2289
Re: Построение SQL запроса
Жадная загрузка - всегда доп. запрос, вы никак не уменьшите количество запросов. Только учтите, что количество запросов не всегда коррелирует с производительностью. Жадно можно вытащить как-то так:
будет основной запрос и 4 по PK.
Код: Выделить всё
$query->with(['location.parent.parent.parent']);
- 2017.07.10, 15:15
- Форум: Установка и настройка
- Тема: Почта
- Ответы: 4
- Просмотры: 3547
- 2017.06.27, 03:17
- Форум: Общие вопросы (Yii 2.x)
- Тема: как повесить событие scroll на dropDownList (select)
- Ответы: 4
- Просмотры: 1555
Re: как повесить событие scroll на dropDownList (select)
Никак, если не ошибаюсь. Можете select2 использовать.
- 2017.05.10, 00:01
- Форум: Общие вопросы (Yii 2.x)
- Тема: ActiveForm и безопасность
- Ответы: 9
- Просмотры: 4035
Re: ActiveForm и безопасность
Ребяты, лейбл ПУСТ. Ломаются поля ввода <imput ... value=""> <script>alert('I am bad code');</script> ">. Вот всё, что между value=" и "> - вываливается как есть... onmotion, в php "" == false вернёт true, короче не принципиально. 1) Ничего там не вываливается 100...
- 2017.05.09, 14:37
- Форум: Общие вопросы (Yii 2.x)
- Тема: Dependency Injection Interface
- Ответы: 2
- Просмотры: 975
Re: Dependency Injection Interface
Проверьте неймспейсы.