webber12 / DLSiteContent

2 stars 3 forks source link

EAV - Нормальная связь с ТВ #1

Open Dmi3yy opened 4 years ago

Dmi3yy commented 4 years ago

По хорошему поразбираться с EAV:

https://github.com/rinvex/laravel-attributes https://github.com/sunel/eav

Это даст возможность нормально работать с TV и тогда нам DocLister в целом не нужен будет и кода будет на порядок меньше для этого всего

webber12 commented 4 years ago

Да, углубиться не помешает. Но в текущем варианте SiteContent я вижу большую проблему. Стандартный запрос атрибута (в нашем случае tv) автоматом генерирует метод для запроса этого атрибута. Т.е. когда мы делаем $item->tv это означает, что мы делаем $item->getTvAttribute() - что хорошо для конечной страницы, но в списках генерит по три запроса на каждый элемент списка, да еще и запрашивает все элементы (и нужные и ненужные). Другой вариант - джойнить на этапе сбора списка - но это тоже проходили на ранних стадиях DL - на больших таблицах слишком напряжно получается.

В общем есть повод еще подумать.. )

Dmi3yy commented 4 years ago

Да надо тащить только Value ну и defaultValue и то по запросу надо будет поковырять ибо если сделать хорошо будет круто и меньше кода что проще поддерживать