SQLSTATE [22007]: недопустимый формат даты и времени: 1366 Неверное целочисленное значение: '["1", "3", "66", "68"]' для столбца 'infraction_id' в строке 1 - PullRequest
0 голосов
/ 08 ноября 2018

Я пытаюсь сохранить все данные, но мне нужно выполнить массив, и возникает ошибка формата данных.

blade

@foreach($infractions as $infraction)
    <tr>
        <th>{{ $infraction->title }}</th>
        <td>
            <input type="checkbox" name="infraction_id[]" value="{{ $infraction->id }}" data-toggle="toggle" data-on="Yes" data-off="No" data-onstyle="success" data-offstyle="danger" data-score="{{ $infraction->score }}">
        </td>
    </tr>
@endforeach

Контроллер

public function store(Request $request)
{
    $inspection = new Inspection();
    $inspection->infraction_id = $request->infraction_id;
    $inspection->encouragement_id = 1;
    $inspection->user_id = auth()->user()->id;
    $inspection->requisition_id = $request->input('requisition_id');
    $inspection->save();
    $inspection->requisitions()->update(['status' => 1]);
    return redirect()->route('inspection-results.index');
}

Я вижу эту ошибку

SQLSTATE [22007]: недопустимый формат даты и времени: 1366 Неверное целочисленное значение: '["1", "3", "66", "68"]' для столбца 'infraction_id'в строке 1 (SQL: вставить в inspections (infraction_id, encouragement_id, user_id, requisition_id, updated_at, created_at) значения (["1", "3", "66"," 68 "], 1, 1, 1, 2018-11-08 10:40:45, 2018-11-08 10:40:45))

array

1 Ответ

0 голосов
/ 08 ноября 2018

Поскольку вы получаете n массив значений для infraction_id (когда вы определяете его в своем HTML, вы используете name="infraction_id[]"). Вам нужно будет добавить несколько записей ...

foreach ( $request->infraction_id as $infraction_id ) {
    $inspection = new Inspection();
    $inspection->infraction_id = (int)$infraction_id;
    $inspection->encouragement_id = 1;
    $inspection->user_id = auth()->user()->id;
    $inspection->requisition_id = $request->input('requisition_id');
    $inspection->save();
    $inspection->requisitions()->update(['status' => 1]);
}
return redirect()->route('inspection-results.index');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...