Comments 5
Блин....х.з. Есть у нас один проект на Yii, который просто изобилует "универсальными" подходами. В том числе и такие конструкции имеются. Мой совет - лучше такого избегать. Это моё мнение. Вообще много зависит от того, насколько большая кодовая база.... Но если проект будет огромным и будет постоянно расти - то такие конструкции в будущем приведут к проблемам (от банального "сложно прочитать код", до "лучше не использовать рефлексию, где можем без неё обойтись" и оптимизации узких мест). В общем весьма сомнительное решение. Это конечно здорово, вы понимаете всякие технические штучки(рефлексию, dry) - но, увеличит сложность (поддержки, разработки и т.д.). Моя рекомендация: не надо так делать в большом проекте. Лучше имхо будет повторительство, но прозрачное.
https://github.com/tylernathanreed/laravel-relation-joins
Вот ещё интересный пакет, можете оценить.
Тоже задавался вопросом, есть решение из коробки
https://github.com/kirschbaum-development/eloquent-power-joins
Тестил на реальном проекте с 5кк записей, работало нормально
Сортировка в Laravel по полям relation-ов