Farhodjon
Но там неправилно филтировать если ползовател выбрат 4GB и 8MP в резултате ест S9 и Iphone X, должна будеть пустой резултат. Потомушта Продукт которие RAM = 4GB и Camera = 8MP нету. У самсунг ест камера а рам нету. В айфон ест РАМ но Камера не 8MP
Максим
Но там неправилно филтировать если ползовател выбрат 4GB и 8MP в резултате ест S9 и Iphone X, должна будеть пустой резултат. Потомушта Продукт которие RAM = 4GB и Camera = 8MP нету. У самсунг ест камера а рам нету. В айфон ест РАМ но Камера не 8MP
но на мой взгляд, лучше искать по фильтрам "или", иначе человек будет много раз поиск использовать, чтобы разные варианты искать. А так он выберет несколько вариантов, которые ему подходят, и по каждому посмотрит результат в одном поиске
Farhodjon
наверное потому, что IN использует ИЛИ, а тебе надо И. Тогда прогонять в цикле полученные фильтры и добавлять andWhere по каждому фильтру
Я получил вот такое данные из филтра: Array ( [RAM] => Array ( [0] => 4 [1] => 8 ) [Camera] => Array ( [0] => 8MP [0] => 12MP ) ) И я вот так еше зделал: foreach ($filter_get as $filter) { $query->andFilterWhere(['in', 'product_filter_values.filter_id', $filter]); }
Farhodjon
Но резултат пустой
Максим
$query->andFilterWhere(['product_filter_values.filter_id' => $filter]);
Максим
IN там не надо, ведь в $filter одно значение, а не массив
Максим
но туда надо загонять filter_id из таблицы product_filter_values
Павел
Ликбез для самых маленьких
Максим
а ты загоняешь название фильтра из таблицы filter
Максим
ты передавай в контроллер айди фильтра, а не его название, и тогда все должно работать
Farhodjon
SELECT DISTINCT `products`.* FROM `products` LEFT JOIN `product_filter_values` ON `product`.`id` = `product_filter_values`.`product_id` WHERE (`product_filter_values`.`filter_id`='640') AND (`product_filter_values`.`filter_id`='662') LIMIT 12
Farhodjon
Вот такие запрос идет
Farhodjon
Даа
Максим
и при этом запрос возвращает пустоту? в phpmyadmin тоже пустоту возвращает?
Farhodjon
Да
Максим
ну так не бывает) Значит где-то провтык
Farhodjon
Вот таблица
Farhodjon
Farhodjon
SELECT DISTINCT `products`.* FROM `products` LEFT JOIN `product_filter_values` ON `product`.`id` = `product_filter_values`.`product_id` WHERE (`product_filter_values`.`filter_id` IN ('640', '687')) AND (`product_filter_values`.`filter_id` IN ('662', '666')) LIMIT 12 Тоже резултат пустой с такими запросами
Максим
ну это неправильный запрос, надо все фильтры в одну кучу передать, а не по отдельности каждую группу фильтров
Максим
SELECT DISTINCT `products`.* FROM `products` LEFT JOIN `product_filter_values` ON `product`.`id` = `product_filter_values`.`product_id` WHERE (`product_filter_values`.`filter_id` IN ('640', '687', '662', '666')) LIMIT 12
Farhodjon
Дааа но тогда работает неправилна. Потамужта 640 и 687 в разделе RAM а 662 и 666 в разделе Camera. Если ползовател выбрат 640 => 4GB и 667 => 18MP продукты которие 4GB или 18MP тоже ест в резултате после филтр. В резултате должна быт продукты 4GB и 18MP
Максим
И по какой же причине?
Для простоты, можно же в одной таблице такую инфу хранить
Максим
В исходной
Ортем
Для простоты, можно же в одной таблице такую инфу хранить
Тут еще вопрос дальнейшей нагруженности. Можно это конечно назвать преждевременной оптимизации. В чем суть и почему было вынесено в отдельную тублицу. Основная таблица весьма нагруженна и имеет большое количество записей. По крону же, каждый день выполняется задача поиска подходящих записей в соответствии со временем. Каждое такое обращение нагружает базу и с каждым разом будет занимать все больше времени. По этому было решено вывести записи в отдельную таблицу, так как там это выполняется в милисекундах.
Ruslan
И по какой же причине?
не в простоте дело, а в правильном проектировании, один ко дному это очень редкий рейс, если кто то юзает, то только по неопытности
Ортем
select тебе для чего?
Он не спасет от того что базе каждый раз нужно будет просматривать поле у более полумилиона записей и сравнивать его с искомым. Select итак используется, он лишь отбрасывает ненужные мне поля. Во второй таблице хранятся данные которые в первой таблице совершенно не нужны, что будет занимать снова лишнее пространство. Не шибко много, не спорю, но все же место.
Ортем
да, а когда join начнется и повиснет у тебя все
Вот здесь нужно подумать, что хуже. Первое или второе.
Sanzhar
Всем привет, кто-нибудь может подсказать, группировку в постгрес?
Sanzhar
http://take.ms/tKYop
Sanzhar
если добавляю id в groupBy, то не работает как надо
Veaceslav
Всем привет. Ребят помогите плиз добавить на сайт с Yii Framework разметку og
Denis
А если я добавляю роль к юзеру, потом ещё одну. Потом потом с потворением две роли, то надо самому проверять уже назначенные роли или рбак сам разберётся?
Denis
Сорян, не могу кинуть код. На прокси на работе ТГ закрыт
Veaceslav
в чём проблема? шаблон надо редактировать
У меня проблема такая. в файле /news/view.php выводится название статьй и фото. Вот только я не могу понять как мне этот $model->title засунуть в head который в другом файле
Veaceslav
в чём проблема? шаблон надо редактировать
Если можете чуть пнуть меня в нужную сторону для решения проблемы буду очень рад. Заранее спасибо.
Veaceslav
Хорошо, а что за $this ?
Ортем
layouts\main.php
Roman
https://stackoverflow.com/questions/28038912/how-to-pass-param-from-controller-to-layout-in-yii2
Roman
первая ссылка в гугле
Roman
+ в гайде https://www.yiiframework.com/doc/guide/2.0/en/structure-views#sharing-data-among-views
Ортем
Вячеслав, там же по умолчанию сама юишка в шаблоне тебе это пихает. В общем почитай что выше скинули
Veaceslav
Сайт не я писал, да и полный ноль я в этой системе. Поставил как вы порекомендовали и сейчас система жалуется
Veaceslav
http://www.jurnalsportiv.md/index.php?r=news/view&id=6140
Veaceslav
Можете глянуть если есть время конечно же.
Ортем
У тебя какая версия yii вообще?
Максим
У тебя какая версия yii вообще?
судя по ошибке - первая
Максим
1.1.12
Ортем
Тоже уже увидел
Ортем
Тогда мой совет тебе не подойдет
Максим
может кто то хелпер снес
Максим
Пацаны
уже проверил бы давно)
Veaceslav
У тебя какая версия yii вообще?
Я даже не знаю. Может и та что вы сказали. У меня была такая идея, засунуть все это в функцию и выводить. Все вроде как работало пока было так $name = "test"; в main.php выводился этот test вот только я не понял почему нельзя сделать вот так $name = $mode->title
Veaceslav
Говорили что из view ничего не выводится в другие файлы, но как тогда выводится этот test ?
Максим
окольными путями это все решается
Veaceslav
окольными путями это все решается
Не подскажите как можно это решить ?
Максим
да это надо доступ FTP и смотреть на живом пациенте, вряд ли выйдет у меня на расстоянии все разрулить
Veaceslav
Я уже 2 дня только это и пытаюсь понять... Уже думаю сделать через vue.js и рендирить на сервере перед отдачей и все...
Ортем
Тебе нужно в начале понять как работает MVC. Как получают данные, куда они попадают дальше и только потом они передаются во view для вывода
Максим
да и с этой версией я уже пару лет не работал
Максим
проще найти фрилансера который за 10-20 баксов все починит за часик
Veaceslav
ну это слишком радикальное решение)
Ну а если не получается по другому ))
Veaceslav
Уже пробовал один чувак, 2 часа что-то делал, потом сказал что тут лучше кинуть гранату в сервак и убить всю это дичь к чертям ))
Veaceslav
Я хоть и не знаю Yii но писать все верстку черех style в html это я думаю вообще не круто
Vladislav
Всем привет. Никто не подскажет как снять экранирование с items bootstrap-dropdown'а? https://www.yiiframework.com/extension/yiisoft/yii2-bootstrap/doc/api/2.2/yii-bootstrap-dropdown
Максим
если я правильно понял, о чем ты