
Sergey
04.01.2017
00:10:01
нуууууу такое
я жду доктрину 3
там выпиливают овердохрена всего
щас вот поменяли полностью то как работают метаданные по классам

Google

Sergey
04.01.2017
00:10:53
должны стать в разы шустрее, там с ассоц массивчиков все на ОО переделали
чтобы в опкеш влазило
и по скорости очень много оптимизаций грядет

Aleh
04.01.2017
00:11:57
просто возможно marcj чет загонется и заделает в сторону асинхронности
это догадки без каких-либо подтверждений)

Jan
04.01.2017
00:12:21
Propel для Doctrine вообще не конкурент по-моему.

Sergey
04.01.2017
00:13:12
заговорили за пропел, вспомнил бигшарка
BigShark*
а вот и он)

Jan
04.01.2017
00:13:40
Он контрибьютер?
?

Aleh
04.01.2017
00:13:50
как это работает

Sergey
04.01.2017
00:13:57
что именно?)

Google

Sergey
04.01.2017
00:14:05
привет Макс)

Aleh
04.01.2017
00:14:09
добавление людей)

Big_Shark
04.01.2017
00:14:12

Jan
04.01.2017
00:14:13

Aleh
04.01.2017
00:14:19
Фабьеен

Big_Shark
04.01.2017
00:14:22

Aleh
04.01.2017
00:14:23
:(

Jan
04.01.2017
00:14:39

Aleh
04.01.2017
00:14:52
чет не вышло, ладно, потопаю спать

Big_Shark
04.01.2017
00:15:07

Aleh
04.01.2017
00:15:16
но тебя ж не заинвайтили
а ты сам пришел
о.о

Sergey
04.01.2017
00:15:34
да эт я ему линк дал)

Aleh
04.01.2017
00:15:39
нет, это магия

Big_Shark
04.01.2017
00:15:47
Мне кинули ссылку, и я присоединился к каналу

Sergey
04.01.2017
00:15:48
ок, это магия
а ты еще симфони юзаешь хоть?

Big_Shark
04.01.2017
00:16:27
ну да, 3 или 3.1 чтото такое

Sergey
04.01.2017
00:16:32
? 3.2

Google

Big_Shark
04.01.2017
00:16:32
но там смесь всего и вся

Sergey
04.01.2017
00:39:51
https://www.youtube.com/watch?v=VB_U5R2_FUs

Pavel
04.01.2017
12:32:43
http://stackoverflow.com/a/15630665

Taras
04.01.2017
12:33:58
Ну это и есть первый вариант с 32 таблицами отношений.

Pavel
04.01.2017
12:37:03
А что везде отношения многие ко многим?

Taras
04.01.2017
13:06:38
ну я ж поэтому и дал схему )
ну хорошо, будет не 32, а пусть в реальной ситуации будет 20, для 5 модулей, но модулей то ведь не 5 будет, а может быть 20-30-40... в итоге это разростается в тупой контроль за добавлением новых отношений.

Sergey
04.01.2017
13:10:55
а зачем отдельные emails, companies? че просто не писать name?

Taras
04.01.2017
13:18:50
всмысле? потому что у одной персоны может быть несколько email, адресов, и т.п.
То же самое и у компаний, и т.д.

Sergey
04.01.2017
13:19:21
через запятую их запиши в поле)

Taras
04.01.2017
13:19:48
эммм... а искать потом тоже через запятую? )

Sergey
04.01.2017
13:20:19
смотря че требуется и какие будут выборки

Taras
04.01.2017
13:20:21
это во-первых, во-вторых - адреса там больше полей, тоже через запятую не пойдет
Кросс-поиск обязателен

Sergey
04.01.2017
13:20:32
ну адреса отдельная таблица эт ок

Taras
04.01.2017
13:20:44
Так то же самое касается и телефонов и прочего.

Sergey
04.01.2017
13:21:02
окей. так а в чем проблема то?
тебе нужны связи company -> email -> user?

Taras
04.01.2017
13:22:58
Есть проблема выбора архитектуры:
- есть вариант стандартный в доктрине: через отдельную таблицу для каждого отношения, и в этом случае будет дохреналион таблиц;
- второй вариант, это как в eloquent orm реализованы polymorph relationships.

Google

Taras
04.01.2017
13:23:10
Company-Email-User - нет, не нужны.
нужна Company -> Email (с дополнительными полями), User -> Email (с дополнительными полями)...

Sergey
04.01.2017
13:23:55
ок, тогда можешь упростить и оставить только
person
person_email
company
company_email

Taras
04.01.2017
13:24:23
блин, это я и описал же :) И в этом случае будет много таблиц

Sergey
04.01.2017
13:24:31
у тебя будет только Person и Email
никаких PersonEmail для связи

Admin
ERROR: S client not available

Taras
04.01.2017
13:25:32
Эммм... можно было бы, но... в этом случае нет возможности проверки уникальности email и дубликаты

Sergey
04.01.2017
13:25:37
и еще вопрос. как ты будешь следить за мертвыми данными?
ну к примеру добавили эмейл А, а потом создали новый Б
или вообще поменяли эмейл А, а его еще юзает компания

Taras
04.01.2017
13:26:56
Вот во втором случае - это элементарно проверить, в первом - email -останется.

Sergey
04.01.2017
13:27:48
ну это вообще окей что юзер меняет себе эмейл, а он поменяется у компании?

Taras
04.01.2017
13:28:39
Хороший кейс.
Я бы даже сказал очень хороший кейс
Что-то меня смущало в этих подходах, поэтому я и на пиздец-долго завис с этой темой.
секунду, надо визуализировать себе
Получается чистый CTI в этом случае

Google

Sergey
04.01.2017
13:33:16
ну а вообще сделай себе домен сущностями, не привязываясь к базе

Taras
04.01.2017
13:33:20
всеравно конечно остается дофига таблиц, но не так страшно.

Sergey
04.01.2017
13:33:30
а потом когда выйдет то что ты хочешь - переноси в базу

Taras
04.01.2017
13:33:41
Сереж, я не совсем врубаюсь как использовать DTO (

Sergey
04.01.2017
13:33:41
model first и вся херня
при чем тут DTO вообще?
у тебя тут доменная область в чистом виде

Taras
04.01.2017
13:34:11
Эм, видимо ошибся в терминологии...
А как это правильно называется? )
По не нашему )

Sergey
04.01.2017
13:35:18
почитай эванса, у него на эту тему аж 2 книги красная и синяя

Taras
04.01.2017
13:35:20
Ага, нашел... Уйду читать щас...
Domain-Driven-Design (это синяя) - а еще какая?

Sergey
04.01.2017
13:36:44
https://www.amazon.com/Implementing-Domain-Driven-Design-Vaughn-Vernon/dp/0321834577
https://www.amazon.co.uk/Domain-driven-Design-Tackling-Complexity-Software/dp/0321125215

Big_Shark
04.01.2017
13:41:16
Я бы сделал просто через запятую, биотвын маски и тд, мени ту мени это ад в чистом виде, у меня их было много, часть сильно сократил, и сейчас хоть понять можно что и откуда, а для поиска сфинкс и тд

Sergey
04.01.2017
13:41:51
еще в json можно запихнуть
мускуль умеет с ним работать
и postgre

Taras
04.01.2017
13:42:00
через запятую не выйдет, в json только

Big_Shark
04.01.2017
13:42:33
Ну в Джексон норм