SQLSTATE[23000]:违反完整性约束:1452 添加 Auth::user()->campus_id 属性 Laravel 5.5
SQLSTATE[23000]: Integrity constraint violation: 1452 in adding Auth::user()->campus_id attribute Laravel 5.5
我正在做这个查询
$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]: Integrity constraint violation: 1452 Cannot add or
update a child row: a foreign key constraint fails
(ecoteneo
.disposecollects
, CONSTRAINT
disposecollects_campus_id_foreign
FOREIGN KEY (campus_id
)
REFERENCES campuses
(id
) ON DELETE CASCADE ON UPDATE CASCADE)
(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 值没有传入插入查询...
以下部分是我的代码吗:
'campus_id' => Auth::user()->campus_id
这是正确的吗?
正如您在
中看到的那样
(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)
,但我建议您尝试输出代码中最通用(并且仍然有用)的部分,因为这样可以保证对问题有更广阔的视野。
我正在做这个查询
$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]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails (
ecoteneo
.disposecollects
, CONSTRAINTdisposecollects_campus_id_foreign
FOREIGN KEY (campus_id
) REFERENCEScampuses
(id
) ON DELETE CASCADE ON UPDATE CASCADE) (SQL: insert intodisposecollects
(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 值没有传入插入查询...
以下部分是我的代码吗:
'campus_id' => Auth::user()->campus_id
这是正确的吗?
正如您在
中看到的那样(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)
,但我建议您尝试输出代码中最通用(并且仍然有用)的部分,因为这样可以保证对问题有更广阔的视野。