2017-02-14 13 views
1

Я пытаюсь получить список результатов из конкретной таблицы и определенного столбца.Получить массив или список данных для данного поля и использовать его в Eloquent Query - Laravel

Работы

$curr_user_offering = Offering::where('user_id', Auth::user()->id)->first()->language; 

Возвращает

Испанский

Сбой

$curr_user_offering = Offering::where('user_id', Auth::user()->id)->get()->language; 

Ошибка

Я попытался

$result = $curr_user_offering->toArray(); 
return $result; 

Exception in Collection.php line 1479: 
Property [language] does not exist on this collection instance. 

но язык действительно существуют.

Я хочу вернуть

[ «английский», «Spanish», «французский»]

Наконец, я хочу, чтобы использовать эту функцию, чтобы перебрать запрос с чеком, если другой пользователь имеет профиль совершенно противоположный. То есть, если user_1 предлагает: английский и user_2 хотят: английский. Я должен вернуть истинный результат этого профиля пользователя.

В нижеследующем ниже описании выполняется просто: он проверяет, не является ли пользователь не тем, кто зарегистрирован, что означает других пользователей, которые хотели бы изучить X-язык, который в настоящее время используется для входа в систему.

$match = Wanting::where([['id', '<>', Auth::user()->id],['language',$curr_user_offering]])->get(); 

Но мне нужен способ цикла, хотя LoggedIn пользователя Хотеть язык и проходной каждый пользователь и выяснить, какие из них могут предложить это.

ответ

1

Следующий код не работает, потому что прибудет() возвращает коллекцию моделей, ни одна модели:

Offering::where('user_id', Auth::user()->id)->get()->language; 

Если вы хотите, чтобы получить список значений из одного столбца , следующее должно сделать трюк:

$languages = Offering::where('user_id', Auth::user()->id)->get()->pluck('language')->toArray(); 

Что касается второй части вопроса, я не уверен, что я следую. Получение пользователей, желающих получить конкретный язык (Требуется модель) работает для вас, почему вы не можете сделать то же самое для Предлагаете модель?