Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
У меня есть таблица Properties
http://prntscr.com/hzwcht
И так же отношения фиксируются в таблице Property_category
http://prntscr.com/hzwcu8
Мне надо зная id одной категории ( 64 ) получить вот эту запись http://prntscr.com/hzwdk1
Как это сделать профессиональнее всего?
Спасибо огромное за ответы
Не в сети
профессиональнее всего
Использовать отношения
Не в сети
Ты мог бы подсказать конкретно какие в этом случае отношения выбрать
Не в сети
Или я не понимаю структуру таблиц, или ты делаешь что-то не так. Pivot table (сводную таблицу) чаще всего создают для связи двух таблиц отношением "Многие ко Многим". На крайняк можно, конечно, и другие отношения внедрить через пивот, но смысла в этом в общем случае нет, да и мануал подсказывает другие способы. Также сводной таблицей можно связать записи в одной таблице отношением многие ко многим (например, связать юзеров дружескими узами).
У тебя же сводная таблица связывает таблицу (properties) со своим же полем (categories), я правильно все увидел? Или на скрине результат селекта с джоином? Ну и сериализованные массивы хранить в базе - так себе практика. От всего этого возникают вопросы вообще не только к тому, как это реализовать, а и к тому, что ты хочешь вообще получить в итоге и откуда это все тут взялось
В идеале напиши что там за массив хранится и какую логику хочешь выстроить. Почему в названии темы ты хочешь выстроить "отношение Eloquent", а структура базы говорит нам о совсем другом - что никаких двух моделей здесь не видать. Ты же не сохраняешь ОРМ модель в поле другой ОРМ модели?
Ну и в догонку - вот по тому, что я вижу, реально написать только кривой SQL запрос. И то с большими "зачем это все" по пути.
Изменено Gorman (14.01.2018 05:29:21)
Не в сети
Спасиво выстроил через pivot Многие ко многим но немного поменял структуру таблиц естественно Спасибо
Не в сети
Страницы 1