Восстановить данные из избранного и отправить их в базу данных - PullRequest
0 голосов
/ 28 мая 2020

Я только что запустил laravel недавно, и у меня возникла проблема.

У меня есть «выбор» в «форме», и я хотел бы получить выбранные данные и сохранить их в базе данных.

К сожалению, у меня сложилось впечатление, что данные не выбраны

вот выбор:

 <div class="input-group mb-3 ">
        <select class="custom-select @error ('category') is-invalid @enderror" id="category">
            @foreach ($categories as $category)
            <option value={{ $category->id}}>{{ $category->name}}</option>
            @endforeach
        </select>
        @error('category')
            <div class="invalid-feedback">
                {{$errors->first('category')}}
            </div>
        @enderror
    <div class="input-group-append">

вот контроллер:

$request->validate([
        'title' => 'required|min:5',
        'content' => 'required|min:10',
        'image' => 'mimes:jpg,jpeg,png,gif,bmp',
        'category' => 'required'
    ]);

    $topic = new Topic();

    $topic->title = $request->input('title');
    $topic->content = $request->input('content');

    $id = DB::table('categories')->where('name', $request->input('category'))->value('id'); //get the category id
    $topic->categorie_id = $id;

вот ошибка:

bugSelect

1 Ответ

0 голосов
/ 28 мая 2020

Вам нужно добавить name = "category" в свой <select>, в противном случае оно не отправляется формой.

<select name="category" class="custom-select @error ('category') is-invalid @enderror" id="category">
    @foreach ($categories as $category)
    <option value={{ $category->id}}>{{ $category->name}}</option>
    @endforeach
</select>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...