Size: a a a

Laravel для начинающих

2020 June 26

VY

Vladimir Yefremov in Laravel для начинающих
PSYTRGLES
у комментов много полей и плодить одинаковые таблицы не гуд
а вот мой кейс - как лучше решить?

таблицы/модели(?):
- Book
- PropsTypes - типы свойств
- PropsTypeValues - набор предустановленных значений для каждого типа - для выбора при вводе
- BookValue  - таблица связи книги с ее свойствами

такая структура - ОК?
источник

P

PSYTRGLES in Laravel для начинающих
Vladimir Yefremov
а вот мой кейс - как лучше решить?

таблицы/модели(?):
- Book
- PropsTypes - типы свойств
- PropsTypeValues - набор предустановленных значений для каждого типа - для выбора при вводе
- BookValue  - таблица связи книги с ее свойствами

такая структура - ОК?
не оч понял
PropsTypeValues - что с чем связывает? или что за предустановленные значения
источник

P

PSYTRGLES in Laravel для начинающих
BookValue - звучит как пивот, но нейминг не пивота
источник

VY

Vladimir Yefremov in Laravel для начинающих
PSYTRGLES
не оч понял
PropsTypeValues - что с чем связывает? или что за предустановленные значения
PropsTypeValues - не связывает,
вот пример:
PropsTypes - одно из значений - format
PropsTypeValues - значения привязанные (зависящие от этого типа): paper, ePub, PDF
источник

VY

Vladimir Yefremov in Laravel для начинающих
PSYTRGLES
BookValue - звучит как пивот, но нейминг не пивота
это пивот, а чем нэйминг не тот?
это имя модели, а таблица - book_value
источник

P

PSYTRGLES in Laravel для начинающих
Vladimir Yefremov
это пивот, а чем нэйминг не тот?
это имя модели, а таблица - book_value
связка таблиц books и values?
источник

P

PSYTRGLES in Laravel для начинающих
это если нейминг читать
источник

VY

Vladimir Yefremov in Laravel для начинающих
PSYTRGLES
связка таблиц books и values?
books и props_type_values, хотя да - пожалуй нэйминг тут сбился....

дать таблице просто имя values - не поднимается рука :)
источник

VY

Vladimir Yefremov in Laravel для начинающих
но самое интересное, что сейчас эти свойства заданы только для книги, но в перспективе может потребоваться подобная система и для других сущностей...
и я думаю - что мне делать, плодить таблицы или состроить .... забыл аббревиатуру - когда в таблицу связи добавляется имя модели и тип данных (слаг)?
источник

P

PSYTRGLES in Laravel для начинающих
полиморфная связь
источник

VY

Vladimir Yefremov in Laravel для начинающих
PSYTRGLES
полиморфная связь
нашел - EAV,
это и есть полиморфная связь?
или это разные способы?
источник

AH

Andrey Helldar in Laravel для начинающих
источник

P

PSYTRGLES in Laravel для начинающих
Vladimir Yefremov
нашел - EAV,
это и есть полиморфная связь?
или это разные способы?
эм, не уверен, может кто-то еще подскажет, EAV это модель или паттерн
источник

P

PSYTRGLES in Laravel для начинающих
а полиморф это тип/способ связи таблиц
источник

VY

Vladimir Yefremov in Laravel для начинающих
PSYTRGLES
эм, не уверен, может кто-то еще подскажет, EAV это модель или паттерн
1-й абзац Вики
Entity–attribute–value model (EAV) is a data model to encode, in a space-efficient manner, entities where the number of attributes (properties, parameters) that can be used to describe them is potentially vast, but the number that will actually apply to a given entity is relatively modest

из которого лично мне не понятно - паттерн ли это? :)
источник

P

PSYTRGLES in Laravel для начинающих
не, паттерн это я от себя добавил ) типа
источник

VY

Vladimir Yefremov in Laravel для начинающих
PSYTRGLES
а полиморф это тип/способ связи таблиц
ОК,

можем вернуться к моей структуре?

что там подправить (пока не поздно 😀  )?

и как их связывать?
источник

P

PSYTRGLES in Laravel для начинающих
Vladimir Yefremov
PropsTypeValues - не связывает,
вот пример:
PropsTypes - одно из значений - format
PropsTypeValues - значения привязанные (зависящие от этого типа): paper, ePub, PDF
кароч у каждого типа есть много значений?
источник

VY

Vladimir Yefremov in Laravel для начинающих
PSYTRGLES
кароч у каждого типа есть много значений?
да
источник

P

PSYTRGLES in Laravel для начинающих
а почему вопрос возник? что не нравится в текущей схеме?
источник