Нет результатов запроса для модели, Laravel

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

public function destroy(Person $id, $personId)
{
    try {
        $people = Person::find($personId);
        $people->delete();

        $register = Register::find($id->id);
        $register->delete();
    } catch (\Exception $exception) {
        report($exception);
        return response($exception->getMessage(), 404);
    }

    return response('Deleted');
}

Route::delete('/record/{id}/{personId}', 'PersonController@destroy');

В таблице Person у меня есть ключ FK для register_id, и связь установлена.

"Нет результатов запроса для модели [App\Person] 15676"


person Beusebiu    schedule 03.04.2020    source источник
comment
в чем разница между $id и $personId?   -  person Dino Numić    schedule 03.04.2020
comment
Пожалуйста, напишите код маршрута.   -  person TsaiKoga    schedule 03.04.2020
comment
Я просто предполагаю, что когда вы удаляете $people, что это за id? это 15676?   -  person Saengdaet    schedule 03.04.2020
comment
Название действительно не очень. $id — это идентификатор регистра, а $personID — это идентификатор человека.   -  person Beusebiu    schedule 03.04.2020
comment
Я отредактировал сообщение.   -  person Beusebiu    schedule 03.04.2020
comment
Это не сработает так. Вы намекаете, что модель $id относится к классу Person, и это то, что вы получите. Вы можете изменить его на «/record/{record}/{person}» и в контроллере Person $person, Record $record. Вам не придется получать их самостоятельно, Laravel позаботится об этом. Просто проверьте, пусты ли переменные   -  person Dino Numić    schedule 03.04.2020
comment
Я просто нахожу решение. $people-›register-›delete(); , вместо $register.... Я сделаю еще несколько яичек, но, похоже, это сработает.   -  person Beusebiu    schedule 03.04.2020
comment
обновите информацию о таблице...   -  person Antony Jack    schedule 03.04.2020
comment
Взаимоотношения между людьми--› регистром сделаны правильно (как в модели, так и в миграции). Кажется, это способ Laravel удаления из таблицы с отношениями.   -  person Beusebiu    schedule 03.04.2020


Ответы (1)


Измените свой запрос и попробуйте так:

$people =Person::where('id',$personId)->delete();
$register =Register::where('id',$id)->delete(); // not sure update_id is `$id`
person Antony Jack    schedule 03.04.2020
comment
SQLSTATE[22P02]: неверное текстовое представление: 7 ОШИБКА: недопустимый синтаксис ввода для целого числа: вот что я получаю. - person Beusebiu; 03.04.2020