Anonymous
Ладно, тогда так: как мне из такой таблицы
id | product id | status | date
1 | 1 | inwork | 01.02.03
2 | 1 | complete | 02.02.03
3 | 2 | inwork | 01.02.03
4 | 3 | inwork | 01.02.03
5 | 2 | complete | 03.03.03
запросом получить выборку id продуктов с крайними по дате статусами?
типа
product_id | last_status
1 | complete
2 | complete
3 | inwork
Ivan
Прям противник связи)))
Павел
Выбираешь самые поздние статусы из таблицы order по дате и distinct
Павел
И джойнишь продукты, или по связи получаешь продукты
Павел
А блин дистинктом не получится
Anonymous
Павел
Павел
Должно сработать
Anonymous
Вообще да похоже на рабочий вариант, щас попробую так
Павел
Пока просто протестировать без джойнов. Если выберет нужные статусы то джойн всегда можно прикрутить
Павел
Anonymous
Неа
Anonymous
Ща вот ребенка уложу и обратно сяду побеждать
Павел
Не выбирает нужные статусы или что?
first
Ребзя,всем доброго времени суток.
Только сегодня начал изучать Yii2 и застопорился на самом начале - контроллере.
Создал свой контроллер
Но переходя на адрес
"test/web/index.php?r=my/index" у меня выдает 404.
Сам файл index лежит в папке view/my/index.php
В чем проблема?
Заранее благодарю за ответы
first
Павел
А на дефолтный контроллер маршрут работает?
first
ну да
адрес:
test/web/index.php?r=site/index
Выводи главную дефолтную страницу Yii
Павел
Конфиг покажи
Юрий
И почему шторм подсвечивает контроллер? Он явно его не видит. Импорт есть?
first
конфиг чего?)
сегодня только начал копаться в Yii)
Юрий
Лучше покопайся
first
first
вот полный скрипт
Юрий
Например пишем hello world на yii
Павел
Конфиг который config/web.php
Павел
http://www.webapplex.ru/routing-v-yii-2.x-urlmanager
first
пля,ну тут ЧПУ,я полазил всё поломал)
мне бы хотя бы без него пока,хеллоу вывести
first
Borys
Borys
В начале есть ответ на ваш вопрос.
SiZE
SiZE
Для начала надо составить чистый SQL
SiZE
Выдумывать без него ActiveQuery сравни толкать грузовик в гору
Anonymous
(теоретически)
SiZE
SELECT * FROM category INNER JOIN (select c.id from posts p INNER JOIN category c ON c.id = p.categoryId GROUP BY c.id) q1 ON q1.id=c.id
Виталий
Немного оффтоп. Кто-то встречал CMS с упором на генерацию кода? Всё, что я видел, хранят бльшинство настроек в БД, что не лучшим образом сказывается на скорости генерации ответа.
Anonymous
Виталий
Процесс, по-моему, должен выглядеть следующим образом. В dev-окружении есть БД + код, они генерят БД + код для продукта.
SiZE
Anonymous
Anonymous
я понимаю сам себя да
Anonymous
SELECT brands.* FROM brands INNER JOIN (SELECT client_brand_id FROM products INNER JOIN (SELECT products_history.id, products_history.product_id, products_history.status FROM products_history INNER JOIN (SELECT DISTINCT id, product_id, status, status_date FROM products_history ORDER BY status_date DESC) maxStatuses ON products_history.id = maxStatuses.id) productIds ON productIds.product_id = products.id WHERE productIds.status LIKE '%Оформлен%') uniq ON uniq.client_brand_id = brands.id ORDER BY id DESC LIMIT 20
мой джойн длиннее
SiZE
я как бы и просил совета с запросом, мне и SQL чистого будет достаточно, чтобы activequery из него скрафтить
че-то не стыкуется
здорово, только джойны я тоже умею писать
Anonymous
короче проблема не в этом
SiZE
мне лично влом читать не отформатированный запрос )
SiZE
но суть я тебе передал
Anonymous
проблема в том, что мне нужно сджойнить не с таблицей уникальных категорий, а с таблицей неуникальных статусов, выбранных по дате и по названию статуса
SiZE
сгруппируй
Ivan
Может все таки попробовать со связью? если бы я такой запрос увидел меня бы передернуло и глаз задергался бы)
Ivan
хотя сейчас когда я на него смотрю уже дергается)
Anonymous
SELECT product_id,max(status_date) FROM products_history GROUP by product_id
как мне вот к такому например запросу присоединить ещё колонку status с значением, соответствующем строке с max(status_date) ?
Anonymous
ну то есть вот такой запрос выводит всё, как мне нужно, но мне нужны остальные колонки из таблицы
Ivan
https://ru.stackoverflow.com/questions/97957/%D0%97%D0%B0%D0%BF%D1%80%D0%BE%D1%81-%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85-%D0%B8%D0%B7-%D0%B4%D0%B2%D1%83%D1%85-%D1%82%D0%B0%D0%B1%D0%BB%D0%B8%D1%86 твой случай?
Ivan
SELECT objects.id, objects.name, objects.orgname, objects.orient, objects.rating, data.objid, data.date, data.pl_min
FROM objects, data
WHERE objects.id = data.objid
ORDER BY objects.rating DESC
Anonymous
блин, как две таблицы соединить по-всякому я понимаю
Anonymous
у меня другая проблема
Anonymous
как мне из такой таблицы
id | product id | status | date
1 | 1 | inwork | 01.02.03
2 | 1 | complete | 02.02.03
3 | 2 | inwork | 01.02.03
4 | 3 | inwork | 01.02.03
5 | 2 | complete | 03.03.03
запросом получить выборку id продуктов с крайними по дате статусами?
типа
product_id | last_status
1 | complete
2 | complete
3 | inwork
Anonymous
без других вообще таблиц итд, всё в рамках вот этой таблички
Ivan
у тебя походу доожен быть запрос в запросе если я все правильно понял
Anonymous
Вообще не знаю, но вероятно да: я думаю, что я должен произвести какое то действие с таблицей а потом сджойнить его с таблицей ещё раз
Anonymous
Но я не понимат целый день сегодня, как же это изобрести
Ivan
ты с mysql в браузере работаешь или используешь workbench или HideSql?
Anonymous
Или внутри селекта какой-то должен быть подзапрос, хз короче
Ivan
ну да у тебя подзапрос получается
Anonymous
Я в phpmyadnin всё делаю
Ivan
ща найду у себя подобный пример ковырну
Anonymous
Anonymous
короче
first
ребзя,может кто помочь?
Заранее благодарю
https://toster.ru/q/426801?e=5295212#clarification_449720
Ivan
SELECT id, author, new, date_create
FROM stories
WHERE author IN (SELECT author
FROM stories
WHERE new= '1')
ORDER BY date_create DESC
Ivan
есть дам базы?
Ivan
Ivan
first
Павел