Владимир
как обычно - что попросили, то и получили =)
Dr Zlo
эм, что?
Dr Zlo
именовать группы в регэкспах не учили?
Andrew
Привет. Пишу фильтр для опенкарта. По умолчанию там идет так. У товара есть фильтры. Например, мужской, длинный, зимний. Фильтр фильтрует так, что при выборе мужского и зимнего выбираются не только мужские и зимние, но и все товары, которые имеют фильтр зимний. В том числе, женские.
Сначала там сделано так:
SELECT p.product_id, pf.filter_id as filters
FROM oc_product_to_category p2c
LEFT JOIN oc_product_filter pf ON (p2c.product_id = pf.product_id)
LEFT JOIN oc_product p ON (pf.product_id = p.product_id)
WHERE p.status = '1'
AND p.date_available <= NOW()
AND p2c.category_id = '59'
ORDER BY pf.filter_id ASC
LIMIT 0,100
Получаем набор (product1, filter1) (product1, filter2)
Попробовал сделать group_concat и потом проверять каждый фильтр как 2 in (filters) где filters это group_concat(pf.filter_id) из вложенного запроса, но они работают только по одному, а если в условии написать несколько через and, то результат - 0 рядов.
Вопрос - как сделать так, чтобы фильтры отсеивали?
Решил с помощью HAVING find_in_set(2, filters) <> 0, где filters это group_concat(pf.filter_id)
Dr Zlo
осторожно, HAVING может быть очень медленным
Dr Zlo
но да, в этом случае надо профилировать
Dr Zlo
я тут недавно ныл про фильтр опенкарта
Dr Zlo
с 5к товаров
Dr Zlo
и оптимизировал
Andrey
поныл, сделал, оптимизировал, оно еще и работает, молодец, работаем дальше
Dr Zlo
не сделал, я чужое оптимизировал
Moz
Dr Zlo
Moz
всё, даже регексп
Dr Zlo
не пойму, это сарказм или...
Moz
Не, правда охуенно. Я чот не знал, что так можно)
Dr Zlo
а, кк
Andrew
И увеличение не планируется, больше каталог чем магазин
Turik
народ кто может помочь с регуляркой? не могу уже долго решить этот вопрос, вообщем есть паттерн
~//\s*(.+?)\s*//~s
как сделать чтоб он не ловил ссылки? то есть https:// | http://
Владимир
Да ладно?
Владимир
ну есть же доки по стандартным фунциям, вот для вас http://php.net/manual/ru/mysqli-result.fetch-array.php
Dr Zlo
Владимир
while, возможно поможет.
Владимир
Ок, тогда еще раз читаем ссылку выше и смотрим на данный момент
(PHP 5, PHP 7)
mysqli_result::fetch_array -- mysqli_fetch_array — Выбирает одну строку из результирующего набора и помещает ее в ассоциативный массив, обычный массив или в оба
Владимир
ну почему же, есть варианты, но придется переписать код относящийся к mysql
Владимир
http://php.net/manual/ru/mysqli-result.fetch-all.php
Владимир
Логично же, да =)
Владимир
Вот только не злись, но ведь даже в первом моем ответе был намек.
Владимир
OMG2SMART4YOU
Ты про кнопку Learn more?
The Ant
верстала от бога
Vadim
Если @ityper_bot не прекратит действовать на нервы, то я его сожгу и забаню того, кто его добавил
Anonymous
Anonymous
Привет всем)
Paul
Привет
Ivan
Всем привет! Ребят, есть заказ на разработку 2-х сайтов на одной админке. Сайты перекликаются, один общий функционал. Если у кого есть желание работать, пишите в лс. Всем мир!
Vadim
Ivan
20к
Ivan
🙂
Ivan
Верстка готова, необходимо забекендить на 1 админку 2 сайта.
Из функций:
Авторизация
Профиль
Каталог / карточка
Добавление обьявления
Чат/Сообщения между пользователями
Коментарии
Подписка
Ivan
Админка простая
Ivan
Ivan
Что касается цены можем обсудить лично. Так как опыт играет большую часть
The Ant
надо сначала поинтересоваться в какой валюте, прежде чем вот так комментировать )))
The Ant
ну может гривень, или казахских тенге. тут интернационал сидит так-то
Ivan
месяц
Anonymous
Белорусские
Anonymous
?)
Echo
белорусские рубли это сейчас сильно
The Ant
/definition(?:s){0,1}:\[{(.*)(?=}\],)/is
Есть тут боги регулярок? Окончание слова может быть с буквой "s" (множественное число). Запилил такое, вроде работает. Как можно это более красивше сделать?
Yar
задание не понятно
Yar
о чем речь в второй части?
Yar
после :
The Ant
The Ant
:\[{(.*)(?=}\],)
это чтоли?
Paul
Никак
Artem
Вопрос по Laravel. Как посоветуете кэшировать запросы к БД? Нашел из нормального только $value = Cache::remember('users', $minutes, function () {
return DB::table('users')->get();
});. Есть ли какие-то best practices? Или open source проекты, где посмотреть можно
Владислав
В документации сказано, что Laravel работает с Memcached и Redis. Соответственно, смотрите, как работать с Memcached или Redis. Как настроить их для работы с Laravel, описано в документации.
Artem
Владислав
А это и не было основным ответом.
Владислав
Вы спросили, чем лучше кэшировать запросы, не?
Artem
не
Владислав
Давайте не будем умничать, хорошо? Вопрос "как лучше реализовать" лично у меня ассоциируется на ряду с "чем лучше реализовать".
Владислав
Если у вас другие ассоциации, то это не значит, что они такие у всех.
Евгений Семашко
Коллеги, кто работал с UMI?
Евгений Семашко
Как правильно сделать тестовую копию сайта?
Dmitriy
в первый раз с тобой согласен
Владислав
Кому "всем"? Ты говоришь ещё за кого-то, кроме себя? Или "вас" много там?
старий
"Как посоветуете кэшировать" - "Через Redis"
Dmitriy
Artem
Просто хочу узнать как люди делают :)
Dmitriy
ясно, можешь не продолжать
Artem
мне посоветовали Lada-cache
Artem
пакет
Dmitriy
ну давай посмотрим как ты будешь кеш юзать
Dmitriy
Зато столько "советов"
Dmitriy
Так покажи норм решение
Владислав
Зачем вообще фреймворк? Зачем вообще другие пакеты? Есть же голый пых, этого достаточно.