Заполнить таблицу по данным из другиx трёх таблиц

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
antihype
Сообщения: 1
Зарегистрирован: 2019.06.21, 23:55

Заполнить таблицу по данным из другиx трёх таблиц

Сообщение antihype » 2019.06.21, 23:58

очень нужна помощь. Есть 4 таблицы - user, holiday, single-events, notifiations_events. Мне нужно, чтобы таблица notifications_events заполнялась по данным из других 3 таблиц. Таблицы:

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

users:
id
username
password_hash
birthday
status


holidays:
id
month
day
name
description


single-events:
id
date_at
name
description


notifications_events:
id
date_at
type
event_id
message
Итак, мне нужно чтобы в notifications_events попадали данные из других 3 таблиц. Например поле event_id должно быть равно holiday.id или user.id, date_at должно быть равно user.birthday и другим датам. В type нужно заносить тип события, можно цифрами, на message можно пока забить. Помогите составить запрос. Желательно на фреймворке php yii2. Хотя мне будет и достаточно обычного sql. Буду благодарен

masson
Сообщения: 471
Зарегистрирован: 2012.07.03, 15:59

Re: Заполнить таблицу по данным из другиx трёх таблиц

Сообщение masson » 2019.06.23, 11:17

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

SELECT id as event_id, birthday as date_at, '1' as type FROM users
UNION 
SELECT id, MAKEDATE(или что там в MySQL), '2' FROM holidays
UNION 
SELECT id, date_at, '3' FROM single-events
Я бы не стал с этим заморачиваться. Оставил бы таблицу user отдельно, а вместо holiday & single-events вел бы одну таблицу :

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

special-date:
id
date_at
type     // 1 - holiday, 2 - event ...
name
description
message
А потом компонентом обрабатывал бы таблицу user отдельно.

Ответить