SQLSTATE [23000]: нарушение ограничения целостности: 1452 Невозможно добавить или обновить дочернюю строку [значение 0 для раскрывающегося списка] - PullRequest
0 голосов
/ 23 мая 2019

Я пытаюсь ввести значение из таблицы имен столбцов 1 в таблицу 2. Появляется, но верхняя строка стоит 0. Получает сообщение об ошибке.

Error

Контроллер :

public function create()
    {
        $kelas_theresia = Kelas_Theresia::pluck('name')->all();
        return view('kamar_theresia.create',compact('kamar_theresia','kelas_theresia'));
    }

    /**
     * Store a newly created resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Http\Response
     */

    public function store(Request $request)
    {
        request()->validate([
            'nama' => 'required|unique:kamar_theresia,nama',
            'idkelas' => 'required',
            'ketersediaan' => 'required',
        ]);

        $input = $request->all();

        $kamar_theresia = Kamar_Theresia::create($input);

        return redirect()->route('kamar_theresia.index')
                        ->with('success','Kamar Theresia created successfully.');
    }

Просмотр

<div class="col-xs-12 col-sm-12 col-md-12">
  <div class="form-group">
    <strong>Kelas:</strong>
      {!! Form::select('idkelas', $kelas_theresia,[], array('class' => 'form-control')) !!}
  </div>
</div>

1 Ответ

1 голос
/ 23 мая 2019

В вашей функции create измените строку, где вы извлекаете свой ресурс, чтобы включить id.

Так что добавьте это вместо:

$kelas_theresia = Kelas_Theresia::pluck('name', 'id')->all();

Таким образом, будет использоваться правильный идентификатор для элемента, и при сохранении он будет правильным, потому что теперь вашим значением является имя.

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