SQLSTATE [23000]: Нарушение ограничения целостности: 1452 при добавлении атрибута Auth :: user () -> campus_id Laravel 5.5 - PullRequest
0 голосов
/ 25 сентября 2018

Я делаю этот запрос

$disposes = Disposecollect::create([
    'bag_id' => $request->input('bag_id'),
    'station_id' => $station->id,
    'undisposed_weight' => $weight->weight,
    'disposed_weight' => $weight->weight - $weight->weight,
    'status' => $request->input('status'),
    'campus_id' => Auth::user()->campus_id 
]); 

И он внезапно выдает ошибку:

SQLSTATE [23000]: нарушение ограничения целостности: 1452 Невозможно добавить или обновить дочерний элементстрока: сбой ограничения внешнего ключа (ecoteneo. disposecollects, CONSTRAINT disposecollects_campus_id_foreign ИНОСТРАННЫЙ КЛЮЧ (campus_id)* (bag_id, station_id, undisposed_weight, disposed_weight, status, updated_at, created_at) значения (6, 1, 5, 0, Нераспределенный, 2018-09-25 10:02: 23, 2018-09-25 10:02:23))

Значение идентификатора кампуса от пользователя не передано в запросе вставки ...

Isэто мой код в части:

'campus_id' => Auth::user()->campus_id

это правильно?

1 Ответ

0 голосов
/ 25 сентября 2018

Как вы можете видеть в

(SQL: insert into disposecollects (bag_id, station_id, undisposed_weight, disposed_weight, status, updated_at, created_at) values (6, 1, 5, 0, Undisposed, 2018-09-25 10:02:23, 2018-09-25 10:02:23))

Поле campus_id отсутствует.В Laravel это обычно означает, что ваше значение campus_id равно null или empty.Я бы посоветовал вам попробовать бросить и умереть (dd) Auth::user()->campus_id, чтобы вы могли проверить его ценность.

dd означает «Dump and Die», что означает, что Laravel выведет имя переменной и не будет переходить к какой-либо другой части кода.Если вы позвоните dd(Auth::user()), вы увидите все атрибуты Auth::user().Вы также можете позвонить dd(Auth::user()->campus_id), но я бы посоветовал вам попытаться вывести наиболее обобщенную (и все еще полезную) часть кода, поскольку это гарантирует более широкое видение проблемы.

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