Правильная таблица связей SQL

166
18 июля 2017, 20:46

Делаю CRM-систему, необходимо добавить задачи, чтобы их можно было связывать со сделкой, клиентом, заявкой и т.д. Как правильно это сделать?

В БД на данный момент есть таблица clients, sales, leads.
Из понятного: таблица tasks содержит в себе поля id, title, text, add_date, task_date. Как сделать связь между клиентом/продажей/лидом и задачей?

Думал сделать промежуточную таблицу tasks_has_entities (id, task_id, entity, entity_id), где entity - это название сущности (clients, sales, leads), а entity_id - это id строки в таблице entity.

Но вопрос - как правильно построить запрос? Уже пробовал просто написать, но не понимаю. Это же нужно делать циклом, правильно понимаю? Чтобы вытаскивать данные по каждой сущности

Answer 1

Самый простой вариант выбрать связанные данные по задаче:

select * from tasks
left join task_entity on task_id = tasks.id
left join clients on entity = 'client' and entity_id = clients.id
left join sales on entity = 'sales' and entity_id = sales.id
left join leads on entity = 'leads' and entity_id = leads.id
READ ALSO
Как работать с push уведомлениями laravel?

Как работать с push уведомлениями laravel?

Добрый деньМне необходимо реализовать отправку push увдеомлений, через gcm на мобильное устройсво

219
Странное поведение оператора — в PHP

Странное поведение оператора — в PHP

Буду очень признателен, если кто-нибудь сможет объяснить, почему так происходитВерсия PHP 7

159
Цикл загружает страницу php

Цикл загружает страницу php

Есть файл с таким кодом

184
STEAM API | Проверка аккаунта на наличие игры

STEAM API | Проверка аккаунта на наличие игры

Как используя steam api проверить аккаунт на наличие csgo?

199