Найдено 780 результатов

Nerf
2017.08.23, 01:39
Форум: Общие вопросы по программированию
Тема: Оптимизировать
Ответы: 27
Просмотры: 6533

Re: Оптимизировать

1) Попробуйте запрос. Вытащите одним запросом: айди_подкатегории + каунт(посты в подкатегории) группе бай айди_подкатегории. 2) Считайте кроном (избавит от лага при невалидном кеше). 3) Считайте в момент добавления\удаления. Последние 2 варианта - кеш. Но, не зная предметной области и объем данных, ...
Nerf
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, если в экшене он н...
Nerf
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.
Nerf
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, если в экшене он не...
Nerf
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]
Nerf
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) использовать.
Nerf
2017.08.02, 22:34
Форум: Общие вопросы (Yii 2.x)
Тема: Выбрать товары с несколькими параметрами одновременно (фильтр EAV)
Ответы: 6
Просмотры: 2745

Re: Выбрать товары с несколькими параметрами одновременно (фильтр EAV)

Будет сложно и долго. Рассмотрите вариант с использованием поискового движка. Код писать лень, но если все же силами текущей БД, то сделайте метод который добавляет в ActiveQuery нужные части запроса. $alias = 'f' . ++$this->aliasCounter; $query->innerJoinWith(['parameterValues ' . $alias => functio...
Nerf
2017.08.02, 22:23
Форум: Общие вопросы (Yii 2.x)
Тема: Реализация хранения меню в бд
Ответы: 15
Просмотры: 4383

Re: Реализация хранения меню в бд

1) Этот раздел для yii2.
2) Выводить циклом... Обертка на ваш вкус.
Nerf
2017.08.02, 22:05
Форум: Общие вопросы (Yii 2.x)
Тема: Запрос sql с average с помощью AR
Ответы: 2
Просмотры: 1295

Re: Запрос sql с average с помощью AR

Через жадную загрузку так не сделать.
Можете закешировать в поле в БД.
Можете закостылить, добавив в модель поле $starsAvg. В запросе сделать join и добавить select(['вашатаблица.*', 'starsAvg' => 'AVG()'])
Nerf
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 Если предположить, что урлы хранятся строками, то для определения активного пункта меню вам придется либо приводить его к маршрут и сравнивать с текущим, либо наоборот, приводить тек...
Nerf
2017.08.02, 21:42
Форум: Общие вопросы (Yii 2.x)
Тема: Relation 2 таблицы в разных базах
Ответы: 7
Просмотры: 2238

Re: Relation 2 таблицы в разных базах

Вы можете создавать "связи" для разных БД, но не можете делать джоины.
Nerf
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 По аналогии с этим, только ...
Nerf
2017.07.21, 23:38
Форум: Общие вопросы (Yii 2.x)
Тема: Кол-во обращений к базе
Ответы: 36
Просмотры: 9225

Re: Кол-во обращений к базе

Какое количество запросов должно быть для адекватной работы сайта? К примеру это готовый блог или cms, на данный момент на простеньком сайте заявок у меня 20 запросов, это нормально? А если я допилю профиль и ещё несколько функций дойдет до 100 примерно. И вообще от чего зависит уменьшение запросов...
Nerf
2017.07.21, 03:03
Форум: Общие вопросы (Yii 2.x)
Тема: Удалить запись, которая связана с другой записью в бд через RESTRICT
Ответы: 14
Просмотры: 4952

Re: Удалить запись, которая связана с другой записью в бд через RESTRICT

Я не могу проверить возможность удаления записи Такого не бывает. В нормальном приложении это делается так. 1. Пользователь ткнул кнопку, пошёл запрос на действие. 2. Контроллер начал выполнять действие. 3. В действии выполняется проверка - "а разрешено ли нам удалять эту запись"? Мыслим ...
Nerf
2017.07.21, 02:02
Форум: Общие вопросы (Yii 2.x)
Тема: Передача в виде параметра значения из модального окна
Ответы: 8
Просмотры: 3066

Re: Передача в виде параметра значения из модального окна

Собираетесь текст get параметром передавать ('reason'=>" TEXT TEXT TEXT")? Парсить url собираетесь?
Не проще сделать форму со скрытым полем, в которое будет добавляться текст, после чего отправлять. Или форму положить в модальное окно, но менять action на нужный.
Nerf
2017.07.10, 15:25
Форум: Общие вопросы (Yii 2.x)
Тема: Построение SQL запроса
Ответы: 8
Просмотры: 2289

Re: Построение SQL запроса

Жадная загрузка - всегда доп. запрос, вы никак не уменьшите количество запросов. Только учтите, что количество запросов не всегда коррелирует с производительностью. Жадно можно вытащить как-то так:

Код: Выделить всё

$query->with(['location.parent.parent.parent']);
будет основной запрос и 4 по PK.
Nerf
2017.07.10, 15:15
Форум: Установка и настройка
Тема: Почта
Ответы: 4
Просмотры: 3547

Re: Почта

transport НЕ обязательно указывать, в таком случае будет использоваться mail() со всеми вытекающими (на сервере должна быть настроена отправка писем).
Nerf
2017.06.27, 03:17
Форум: Общие вопросы (Yii 2.x)
Тема: как повесить событие scroll на dropDownList (select)
Ответы: 4
Просмотры: 1555

Re: как повесить событие scroll на dropDownList (select)

Никак, если не ошибаюсь. Можете select2 использовать.
Nerf
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...
Nerf
2017.05.09, 14:37
Форум: Общие вопросы (Yii 2.x)
Тема: Dependency Injection Interface
Ответы: 2
Просмотры: 975

Re: Dependency Injection Interface

Проверьте неймспейсы.