А подскажите, пожалуйста - это нормально, когда несколько доктриновских сущностей

замаплено на одну таблицу? У меня есть несколько "бандлов" в аппликухе и они занимаются вообще разными вещами. И так уж сложилось, что в базе данных эти данные часто хранятся в одних и тех же табличках.

Нормально ли юзать в одном куске приложения сущность A1, которая ссылается на табличку A и состоит из одного набора полей, а вообще в другом кусе приложения - другая сущность A2, которая ссылается на ту же табличку A и имеет вообще другой набор полей. У них свои репозитории и всё такое, из общего только айдишник.
Или тут есть какие-то подводные камни? Да, структура базы кривая, я в курсе, но покаместь приходится мириться.

p.s. да, я в курсе бандлов, но речь сейчас не о них, а о подходе с разделеним сущностей

10 ответов

3 просмотра

Если одна на запись а остальные ридонли то костыльно, но ещё терпимо (если они из одного контекста). А вот если все пишут то совсем грустно

получается, что в одной таблице хранятся разные объекты?

E- Автор вопроса
Anton K.
получается, что в одной таблице хранятся разные об...

объекты как бы одни, просто дохера инфы свалено в одну таблицу и используется в совсем разных случаях

для разделения сущности, при этом хранение в одной таблице можно применить Embeddable классы, так будет проще рефакторить и вообще поддерживать

E
Embedded не то(

тогда страдай ))

E- Автор вопроса
𝔏𝔦𝔩𝔦𝔱𝔥
тогда страдай ))

а как вообще решаются такие кейсы? вот есть сущность, например, Car. у неё есть связь oneToMany на картинки. Управление этими картинками вынесено в отдельный кусок проекта, там своя мутная логика, она более-менее изолирована и никому не мешает. Больше в проекте нигде эти картинки не используются, это такая вещь сама в себе. И что, по всему проекту, где мне нужна инфа о этом Car'е - я везде могу вытащить эти картинки? А какой смысл всему проекту знать об этих картинках? Embedded не подойдёт потому что мне нужно со связями разносить. Разбивать сущность на осмысленные куски говорят тоже муветон. Как сами решаете такие затыки?

E
а как вообще решаются такие кейсы? вот есть сущнос...

уже не раз упоминалось, что на чтение выбрать доктрину - плохое решение, лучше читать напрямую из БД через dbal, а там уже выбирай что тебе нужно, хочешь джоинами, хочешь - определенные колонки. Но судя по твоей ситуации у тебя один фиг все хранится в одной таблице. выход только один - перечислить колонки. Если отрефакторишь и разнесешь по разным таблицам - то пофиг, связь будет, и профит получишь при редактировании сущности или новой, а на чтение если она не нужна тебе - читай с прямо с БД и не джоини

E- Автор вопроса
𝔏𝔦𝔩𝔦𝔱𝔥
уже не раз упоминалось, что на чтение выбрать докт...

чтение вообще пофиг, чтение сделано мускулом, работает на ура

Похожие вопросы

Обсуждают сегодня

'frakturBold' => ['𝖆', '𝖇', '𝖈', '𝖉', '𝖊', '𝖋', '𝖌', '𝖍', '𝖎', '𝖏', '𝖐', '𝖑', '𝖒', '𝖓', '𝖔', '𝖕', '𝖖', '𝖗', '𝖘', '𝖙', '𝖚', '𝖛', '𝖜', '𝖝', '𝖞', '𝖟', '𝕬', '𝕭', '𝕮', '𝕯'...
Roma
4
Есть полностью собранная база "шрифтов" - подобных символов?
Shen
9
Дорогие друзья, есть тут те, Кто рад поучаствовать в работе и в команде над игровой платформой? Мы делаем игровую и уникальную платформу. Стек платформы Go и React. Нам ...
Александр Цивин :)
2
Короче получается только кнопки не поменять А кнопки вроде тоже слетают при редактировании не?
inc.
10
Тг будет банить бота который принимает донаты без stars? Бот буквально на 10-20 человек
Vexylon
6
а у тя шо за бот?
Андрей
6
Кто сколько за бота берёт? (Я покупать не хочу)
Ivan Aleksandrovich
10
Век живи, век учись и продолжай удивляться Carbon Оказывается, в Carbon дату можно задавать даже текстом 😲 <?php use Carbon\Carbon; $october_date = new Carbon("last sunday o...
Igor
3
или ты хочешь сказать что это по юникоду не дефолтные буквы?
Roma
4
Приветы. Если бот доступен только пользователям из России и Беларуси, старсы для него неизбежны? Как Apple планируется собирать платежи с покупок в сторе на территориях, где у...
Prokhor Chulkov
8
Карта сайта