
Павел
18.05.2017
15:34:20
Должно сработать

راتينجي
18.05.2017
15:36:00
Вообще да похоже на рабочий вариант, щас попробую так

Павел
18.05.2017
15:37:55
Пока просто протестировать без джойнов. Если выберет нужные статусы то джойн всегда можно прикрутить

Google

راتينجي
18.05.2017
16:56:18
Неа
Ща вот ребенка уложу и обратно сяду побеждать

Павел
18.05.2017
16:59:36
Не выбирает нужные статусы или что?

first
18.05.2017
17:12:11
Ребзя,всем доброго времени суток.
Только сегодня начал изучать Yii2 и застопорился на самом начале - контроллере.
Создал свой контроллер
Но переходя на адрес
"test/web/index.php?r=my/index" у меня выдает 404.
Сам файл index лежит в папке view/my/index.php
В чем проблема?
Заранее благодарю за ответы

Павел
18.05.2017
17:14:35
А на дефолтный контроллер маршрут работает?

first
18.05.2017
17:15:53
ну да
адрес:
test/web/index.php?r=site/index
Выводи главную дефолтную страницу Yii

Павел
18.05.2017
17:18:41
Конфиг покажи

Юрий
18.05.2017
17:19:39
И почему шторм подсвечивает контроллер? Он явно его не видит. Импорт есть?

first
18.05.2017
17:19:40
конфиг чего?)
сегодня только начал копаться в Yii)

Юрий
18.05.2017
17:19:56
Лучше покопайся

first
18.05.2017
17:20:03
вот полный скрипт

Google

Юрий
18.05.2017
17:20:06
Например пишем hello world на yii

first
18.05.2017
17:20:48

Павел
18.05.2017
17:22:05
Конфиг который config/web.php

first
18.05.2017
17:22:49

Павел
18.05.2017
17:24:08
http://www.webapplex.ru/routing-v-yii-2.x-urlmanager

first
18.05.2017
17:30:18
пля,ну тут ЧПУ,я полазил всё поломал)
мне бы хотя бы без него пока,хеллоу вывести

Boris
18.05.2017
17:58:10
В начале есть ответ на ваш вопрос.

SiZE
18.05.2017
18:03:33
Для начала надо составить чистый SQL
Выдумывать без него ActiveQuery сравни толкать грузовик в гору

راتينجي
18.05.2017
18:07:35
(теоретически)

SiZE
18.05.2017
18:26:52
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

Виталий
18.05.2017
18:27:48
Немного оффтоп. Кто-то встречал CMS с упором на генерацию кода? Всё, что я видел, хранят бльшинство настроек в БД, что не лучшим образом сказывается на скорости генерации ответа.

راتينجي
18.05.2017
18:29:23

Виталий
18.05.2017
18:29:27
Процесс, по-моему, должен выглядеть следующим образом. В dev-окружении есть БД + код, они генерят БД + код для продукта.

SiZE
18.05.2017
18:30:14

راتينجي
18.05.2017
18:30:37

Google

راتينجي
18.05.2017
18:30:46
я понимаю сам себя да
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
18.05.2017
18:31:48
я как бы и просил совета с запросом, мне и SQL чистого будет достаточно, чтобы activequery из него скрафтить
че-то не стыкуется
здорово, только джойны я тоже умею писать

راتينجي
18.05.2017
18:31:57
короче проблема не в этом

SiZE
18.05.2017
18:32:30
мне лично влом читать не отформатированный запрос )
но суть я тебе передал

راتينجي
18.05.2017
18:32:42
проблема в том, что мне нужно сджойнить не с таблицей уникальных категорий, а с таблицей неуникальных статусов, выбранных по дате и по названию статуса

SiZE
18.05.2017
18:32:55
сгруппируй

Ivan
18.05.2017
18:33:38
Может все таки попробовать со связью? если бы я такой запрос увидел меня бы передернуло и глаз задергался бы)
хотя сейчас когда я на него смотрю уже дергается)

راتينجي
18.05.2017
18:42:10
SELECT product_id,max(status_date) FROM products_history GROUP by product_id
как мне вот к такому например запросу присоединить ещё колонку status с значением, соответствующем строке с max(status_date) ?
ну то есть вот такой запрос выводит всё, как мне нужно, но мне нужны остальные колонки из таблицы

Ivan
18.05.2017
18:47:34
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 твой случай?
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

راتينجي
18.05.2017
18:52:35
блин, как две таблицы соединить по-всякому я понимаю
у меня другая проблема
как мне из такой таблицы
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
18.05.2017
18:55:48
у тебя походу доожен быть запрос в запросе если я все правильно понял

راتينجي
18.05.2017
18:58:17
Вообще не знаю, но вероятно да: я думаю, что я должен произвести какое то действие с таблицей а потом сджойнить его с таблицей ещё раз

Google

راتينجي
18.05.2017
18:58:39
Но я не понимат целый день сегодня, как же это изобрести

Ivan
18.05.2017
18:59:39
ты с mysql в браузере работаешь или используешь workbench или HideSql?

راتينجي
18.05.2017
18:59:47
Или внутри селекта какой-то должен быть подзапрос, хз короче

Ivan
18.05.2017
19:00:03
ну да у тебя подзапрос получается

راتينجي
18.05.2017
19:00:06
Я в phpmyadnin всё делаю

Ivan
18.05.2017
19:02:11
ща найду у себя подобный пример ковырну

راتينجي
18.05.2017
19:04:32
короче

first
18.05.2017
19:08:09
ребзя,может кто помочь?
Заранее благодарю
https://toster.ru/q/426801?e=5295212#clarification_449720

Ivan
18.05.2017
19:10:02
SELECT id, author, new, date_create
FROM stories
WHERE author IN (SELECT author
FROM stories
WHERE new= '1')
ORDER BY date_create DESC

Admin
ERROR: S client not available

Ivan
18.05.2017
19:10:14
есть дам базы?

راتينجي
18.05.2017
19:13:02

Ivan
18.05.2017
19:13:15

first
18.05.2017
19:14:02

Павел
18.05.2017
19:14:22

راتينجي
18.05.2017
19:14:52
омг
ты реально прочитал тот запрос?

Ivan
18.05.2017
19:15:18

Павел
18.05.2017
19:15:54

Google

Dmitriy
18.05.2017
19:16:14

Ivan
18.05.2017
19:17:09
да я думаю сейчас хоть как то написать что бы понять работает или нет а потом уже пределать не будет проблем

Павел
18.05.2017
19:18:27

first
18.05.2017
19:18:41

Павел
18.05.2017
19:19:24

راتينجي
18.05.2017
19:20:36
что я не знаю, как его сделать так, чтобы выбирало как надо
:)

Павел
18.05.2017
19:21:39
Делаешь выборку из таблицы хистори
Дистинкт по полю product.id
Order by по дате
Должно выбрать самые последние статусы по дате для всех продуктов
Если нужен конкретный статус добавишь where

راتينجي
18.05.2017
19:24:56
а как мне сделать дистинкт по полю product_id и при этом выбрать ещё и колонку статусов?
ну то есть, если я сделаю select distinct product_id, status, он же мне всё ЗАДИСТИНКНИРУЕТ

Ivan
18.05.2017
19:33:05
что то я уже запутался что нужно вывести)
но с подзапрососм "устаревшим методом" это выглядит так:
SELECT id, status, status_date
FROM products_history
WHERE status IN (SELECT status
FROM products_history
WHERE status= 'Оплачен')
ORDER BY status_date DESC

راتينجي
18.05.2017
19:40:14
мне тут бро помог:
SELECT product_id, status, date
FROM databasename AS zz
WHERE
(SELECT COUNT(*)
FROM databasename AS zz2
WHERE zz2.product_id = zz.product_id AND zz2.date > zz.date
) = 0
работает!

Ivan
18.05.2017
19:41:05
ну я же говорил подзапрос)