#laravel
#laravel
Вопрос:
У меня есть таблица категорий, есть идентификаторы столбцов и имя_категории, как я могу передать только данные без имени столбца, пожалуйста, проверьте скриншот ниже, поэтому я хочу, чтобы был выпадающий список с опцией выбора, когда я выберу конкретное имя_категории, он сохранит свой идентификатор в базе данных, например, если я выберу категорию «спорт», она примет идентификатор «1», пожалуйста, помогите мне на основе Laravel
Вот мой контроллер
public function create()
{
$categories = Category::all('category_name');
$data = array(
'weekdays' => [
'Monday'=>[
'2p.m',
'3p.m'
],
'Tuesday',
'Wednesday'
],
'categories' => $categories
);
return view('pages.clubs.create_club')->with($data);
}
Мой взгляд
<div class="form-group">
{{Form::label('categories', 'Select Category')}}
{{Form::select('categories',$categories,null,array('multiple'=>'multiple','name'=>'categories[]'))}}
</div>
Ответ №1:
Вы можете использовать pluck для получения значений в раскрывающемся списке,
$categories = Category::pluck('category_name','id');
Ссылка:https://laravel.com/docs/5.8/collections#method-pluck
Ответ №2:
Пожалуйста, попробуйте это.
На вашем контроллере:
$categories = Category::pluck('category_name','id');
return view('pages.clubs.create_club', compact('categories'));
На вашем блейде:
<div class="form-group">
{{Form::label('categories', 'Select Category')}}
{{Form::select('categories[]',$categories,null,['multiple'=>'multiple']))}}
</div>
Пожалуйста, обратите внимание, что вам не нужен 'name'=>'categories[]'
атрибут.
Ответ №3:
In controller use this method..if multiple values have to be sent to the
view,
$categories=DB::table('categories')->get();
$time=DB::table('times')->get();
$params = [
'categories' => $categories,
'time' => $time,
];
return view('pages.clubs.create_club')->with($params);
In view
<label>Select Category:</label>
@foreach($categories as $item)
<option value="{{ $item->id }}">{{ $item->category_name }}</option>
@endforeach</select>
<label>Week Days:</label>
@foreach($time as $item)
<option value="{{ $item->value }}">{{ $item->value }}</option>
@endforeach</select>