Как передать данные столбца в выпадающий список

#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>