我刚接触laravel,尝试存储数据,但不断出现以下错误:
Illuminate\Database\QueryException
SQLSTATE[23000]: Integrity constraint violation: 19 NOT NULL constraint failed: courses.user_id (SQL: insert into "courses" ("title", "image" "updated_at", "created_at") values (new title, ?, 2020-06-06 23:02:53, 2020-06-06 23:02:53))
在控制器中的存储方法:
public function store(StoreCourseRequest $request) {
$addCourse = Course::create($request->all());
foreach ($request->input('course_images', []) as $file) {
$addCourse->addMedia(storage_path('tmp/uploads/' . $file))->toMediaCollection('course_images');
}
if ($media = $request->input('ck-media', false)) {
Media::whereIn('id', $media)->update(['model_id' => $addCourse->id]);
}
return redirect('/course');
}
店铺请求:
class StoreCourseRequest extends FormRequest
{
public function authorize()
{
return true;
}
public function rules()
{
return [
'title' => [
'required',
],
];
}
}
数据库:
Schema::create('courses', function (Blueprint $table) {
$table->id();
$table->unsignedBigInteger('user_id');
$table->string('title');
$table->string('image')->nullable();
$table->timestamps();
$table->index('user_id');
$table->softDeletes();
});
}
错误指向控制器:
$addCourse = Course::create($request->all());
但不确定怎么解决。请帮忙。提前谢谢。
将user\u id
列设为外键,该外键引用用户表上的id
列,如果不必为课程分配用户,则将其设为空
$table->unsignedBigInteger('user_id')->nullable();
$table->foreign('user_id')->references('id')->on('users');
您还需要更改索引,因为它可能为null
<罢工> $表-
public function authorize()
{
return auth()->check();
}
auth()-
$course = $request->validated();
$course['user_id'] = auth()->id();
$addCourse = Course::create($request->all());
我使用一个自定义的API请求到我的数据库来生成一个新的条目。 我的表格结构是这样的: 表结构 我将Incident_Type设置为唯一,因为这是我的系统的要求。当我向系统发布新条目时: 第一次很好。 第二次: 当我使用不同的事件id时,我得到错误: 为什么发送请求使用完全相同的条目,即使我更改了数据?我该怎么解决这个问题?
问题内容: 我有此代码,但是当我尝试这些代码时,我得到: SQLSTATE [23000]:违反完整性约束:1048列“ post”不能为null,此错误。 我找不到任何解决方案。我尝试了另一种可以正常工作的功能,但这个功能无法正常工作。 问题答案: 插入$ post = $ _POST [‘post’];
我的迁移: 但会导致查询异常:( SQLSTATE[23000]:完整性约束冲突:密钥“users\u identifier\u unique”的1062重复条目“76561198364059468”
照明\database\queryexception SQLSTATE[23000]:完整性约束违反:19 NOT NULL约束失败:users.password(SQL:插入“users”(“name”、“email”、“username”、“updated_at”、“created_at”)值(MADHUP KUMAR,Chandrashivam99@gmail.com,Vansh123,20
问题内容: 我试图在我的注释表中插入值,但出现错误。俗话说,我不能添加或更新子行,我也不知道这意味着什么。我的架构如下所示: 我尝试执行的mysql语句如下所示: 我得到的错误看起来像这样: SQLSTATE [23000]:违反完整性约束:1452无法添加或更新子行:外键约束失败(。,CONSTRAINT FOREIGN KEY()引用()删除无操作,更新无操作) 问题答案: 这仅表示在表 co
我不确定这个错误是从哪里来的。我不知道它将如何尝试将副本添加到我的数据库中。思想?我打错电话了吗?我已经把范围缩小到我知道与签名部分有关的地方。我在DB中只有一列id