У меня проблема с моделью eav. В основном; У меня три таблицы. Пользователь, UserInfo, Страна.Laravel 5 и EAV отношение
User userinfo Country
--------- ------------ ------------
id id id
username user_id country_name
pass option_id
etc option_value
Я успешно подключил модели пользователей и пользователей. Нет проблем. Я получение Infos пользователя в модели пользователя с этим:
$this->info->where('option_id', $key)->first()->option_value;
Моя проблема прямо там. Я сохраняю «country_id» в option_id и option_value.
В примере:
userinfo
--------
id 1
user_id 5
option_id country_id
option_value 3
Я бегу этот запрос от пользователя модели
$this->info->where('option_id', 'country_id')->first()->option_value;
возвращает 3. Там не будет никаких проблем. Моя проблема в том, что я не смог получить country_name. Я не знаю, какое отношение использовать для этого. Я могу сделать это с использованием класса «DB», но тогда мне нужно использовать другие запросы для всех этих типов. Это не лучшее решение.
Может кто-нибудь мне помочь?
Изменить: Я ищу, как это решение (если это возможно):
$this->info->where('option_id', $key)->first()->option_value->country_name;
Edit: Я использую Laravel 5.1
его возвращение нулевой –
я отредактирован возвращение $ this-> belongsTo («App \ Страна», «country_id ', 'Я бы'); для возврата $ this-> belongsTo ('App \ Country', 'option_value', 'id'); Его работали со мной, thx много :) –
, если вы примете мой запрос на редактирование, я буду отмечать как ваш пост. –