LARAVEL 5.5: извлечение уникальных значений из базы данных и передача для просмотра в виде опций выбора формы - PullRequest
0 голосов
/ 06 июля 2018

Я ищу, чтобы получить уникальные значения из таблицы в моей базе данных и передать название компании в мое представление в качестве параметров в раскрывающемся списке в форме.

Функция в моем контроллере выглядит следующим образом:

public function index()
{
    $id = Auth::user()->id;
    $admin = Admin::find($id);
    $companies = DB::table('vacancies')->distinct()->select('company')->get()->toArray();
    return view('admin')->with('admin',$admin)->with('companies',$companies);
}

И мой взгляд выглядит так:

<div class="form-group">
   @foreach ($companies as $company)
     {{ Form::label('Select Company')}}
     {{ Form::select('companies', $company->company, ['class'=>'form-control', 'placeholder'=>'Please select ...']) }}
   @endforeach
</div>

Я получаю следующую ошибку:

Invalid argument supplied for foreach()

Если я попытаюсь {{dd ($ companies}}}, я увижу, что массив передается в представление ОК. Этот массив выглядит следующим образом:

array:353[
  0 => {#274 ▼
  +"company": "Example company name"
  }......
]

Отключение цикла и возврат к:

<div class="form-group">
  {{ Form::label('Select Company')}}
  {{ Form::select('companies', $companies, ['class'=>'form-control', 'placeholder'=>'Please select ...']) }}
</div>

вызывает другую ошибку, которая гласит:

htmlspecialchars() expects parameter 1 to be string, object given

Где я здесь не так?

Ответы [ 2 ]

0 голосов
/ 06 июля 2018

В вашем контроллере

public function index()
{
    $id = Auth::user()->id;
    $admin = Admin::find($id);
    $companies = DB::table('vacancies')->distinct()->pluck('company')->toArray();
    return view('admin')->with('admin',$admin)->with('companies',$companies);
}
0 голосов
/ 06 июля 2018

Fllow согласно ниже

ваша индексная функция должна быть как ниже

public function index()
{
    $id = Auth::user()->id;
    $admin = Admin::find($id);
    $companies = DB::table('vacancies')->distinct()->pluck('company')->toArray();
    return view('admin')->with('admin',$admin)->with('companies',$companies);
}

ваш взгляд должен мне, как показано ниже

<div class="form-group">
     {{ Form::label('Select Company')}}
     {{ Form::select('companies', $companies, ['class'=>'form-control', 'placeholder'=>'Please select ...']) }}
</div>

дайте мне знать, если таковые имеются

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...