Vadim
Anonymous
Vadim
у меня 7.1
Vadim
ладно, не буду жирнить — ты не написал где именно у тебя это не работает, симфони, юи, твоя кастомная поделка
Anonymous
Anonymous
https://laravel.ru/docs/v5/requests в этом реквест вписать кастомные данные
Vasyl
Нету доступа доступа через sftp і по ssh. Кто то знает как через ftp символьною ссылку зделать?
runinterface
runinterface
winscp вроде как умеет привелегии себе повышать, но опять же тут ...они регулируются ftp
Chuvi
Vasyl
runinterface
точно же, php испольняется же от рута вроде
runinterface
ну можно еще получить ssh доступ)
Anonymous
Ребят, всем привет
Нужно сделать таблицу tasks в CRM, подскажите, пожалуйста, а то не понимаю
таблица 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.
Но вопрос - как правильно построить запрос? Уже пробовал просто написать, но не понимаю. Это же нужно делать циклом, правильно понимаю? Чтобы вытаскивать данные по каждой сущности
Evgeniy
о недавно на stackoverflow читал его)
Evgeniy
хотел даже по отвечать но понял насколько он там затянится
Evgeniy
ну смотри давай пока отбросим crm
Evgeniy
и поговорим чисто за бд
Evgeniy
то что ты говоришь это ER диаграмма
Evgeniy
и Entity между ними соединяются 3 разными типами связей: 1x1, 1xN, NxM
Evgeniy
когда ты говоришь надо связь между клиентом/продащей/лидом и задачей
Evgeniy
то все зависит от того как у тебя это хранится
Evgeniy
условно с точки зрения проектирования там есть такая фишка как нормальнизация и нормальные формы
Evgeniy
поэтому твой подход с tasks_has_entities с точки зрения нормальных форм не правильный
Evgeniy
лучше сделать отдельно task_has_orders, task_has_leads и тд
Evgeniy
и содержимое таблицы будет task_has_orders: task_id, order_id
Anonymous
И таким образом уже делать объединения?
Evgeniy
ну и для лидов task_has_leads
Evgeniy
это называется связь многие ко многим
Evgeniy
это с точки зрения теории
Evgeniy
такой поверхностной
Anonymous
Т.е. для каждой сущности, которая теоретически может быть привязана к таску, делать отдельную таблицу для связи
Evgeniy
но чтобы понять тип связи
Evgeniy
тебе надо ответить
Evgeniy
может ли быть такое что у одно таска несколько ордеров например
Evgeniy
а у одного ордера несколько тасков
Evgeniy
Evgeniy
и во всяких crm как раз практикуется способ что ты описал
Anonymous
у таска несколько ордеров быть не может, а у ордера может быть несколько тасков)
Evgeniy
но обладает как плюсами так и минусами)
Evgeniy
Evgeniy
она реализуется добавлением атрибута(колонки) в сущность order (таблицу orders)
Evgeniy
в котором будет указан task_id
Anonymous
тогда уж наоборот
у ордера может быть несколько тасков, поэтому в таблицу тасков вставлять атрибут sale_id)
Evgeniy
а ну да
Evgeniy
мой косяк я имелл ввиду это, просто написал бред
Evgeniy
ну и может быть такое что таск не связан не с одним из sale ?
Evgeniy
если да то колонка nullable если нет, то not null
Evgeniy
и так каждую связь отдельно лучше в начале сделать
Evgeniy
потом подумать будут ли еще новые связи динамически появляться?
Evgeniy
и нужно ли это
Evgeniy
если нужно то ты придешь к своему варианту с вспомогательной таблицей (дополнительной сущностью) в виде связей
Evgeniy
если это нафиг не надо то и не придется делать over enginiring
Evgeniy
а это только тебе известно
Evgeniy
твой вариант как бы более гибкий
Evgeniy
но денормализованный и с дополнительной сущностью
Evgeniy
и соответственным усложением надо ли это?
Evgeniy
во многих crm так делают засчет этого получают базу
Evgeniy
в которой без бутылки не разберешься
Evgeniy
зато все гибко
Evgeniy
и потом лапшу в backend складывают
Evgeniy
это имхо, работал с несколькими crm
Evgeniy
и потом к вертикальным таблицам приходят
Evgeniy
забыл как это правильно называется
Evgeniy
https://ruhighload.com/db.vertical.table.jpg
Ксения
Всем привет! Ищем php разработчика в Ситимобил – онлайн-сервис заказа такси.
Область ответственности – разработка систем, API и web-интерфейсов, используемых компанией для обеспечения работы сервиса по онлайн-заказу такси.
Задачи:
- Разработка API (РНР, Node.JS, MySQL, Redis, Git); поддержка и непрерывное развитие существующих решений, поиск и устранение проблем производительности;
- Проектирование архитектуры информационных систем;
- Участие в сode-review.
Требования:
- Нацеленность на результат;
- Опыт разработки онлайн-проектов, реализующих сложную логику и оперирующих большими наборами данных;
- Опыт разработки средствами PHP с использованием современных фреймворков;
- Опыт разработки асинхронных приложений с использованием Node.js;
- Не энциклопедическая, но практическая инженерная грамотность;
- Опыт промышленной разработки и эксплуатации онлайн-проектов, оказывающих реальные коммерческие услуги;
- Навыки или образование в области системного программирования;
- Инженерный подход к решению технических задач.
Крайне желательно:
- Живой интерес к результатам своего участия в общем деле, сопереживание пользователям;
- Способность конструктивно работать с несовершенными решениями, понимая особенности подхода KISS;
- Опыт поэтапного внедрения микросервисной архитектуры в существующих проектах;
Понимание устройства реляционных БД;
- Опыт успешной работы с использованием Agile;
- Гибкость, ответственность и точность в действиях, не сопровождаемые стрессом для себя и коллег.
Условия:
- Команда профессионалов, у которых действительно есть, чему поучиться;
- Работа в коллективе единомышленников, в котором нет случайных людей;
- Белая заработная плата, вилка до 180к нетто;
- Официальное оформление по ТК;
- Удобный и светлый офис в 10 минутах ходьбы от метро Новые Черемушки;
- Оплачиваемые обеды;
- Возможность посещать профильные конференции за счёт компании.
Жду резюме на ks@city-mobil.ru или пишите в личку
Всем хорошего дня!
#вакансия #офис #Москва #fulltime #php
Evgeniy
сейчас ксения вакансию покажет)
Evgeniy
опередили)
Anonymous
Отошел тут на минуту, а ты уже столько всего написал, сейчас все прочитаю))
Evgeniy
к
Ксения
Evgeniy
Anonymous
Если я правильно понял, то:
Если не нужно будет добавлять новые сущности, то хватит всего этого:
Создание таблиц со связью М-М (task_has_sales, task_has_clients и т.д.)
Если же нужно будет добавлять сущности, не трогая таблицы, то нужно сделать вертикальную таблицу
Evgeniy
ога
Evgeniy
на добавление такой таблицы нужно идти осознанно
Evgeniy
если возникнет необходимость в этом
Evgeniy
желательно если она уже есть
Evgeniy
потому что зарефакторить бд от первого состояние во второе проще
Evgeniy