database - SQLSTATE [23000]:违反完整性约束:19 NOT NULL 约束失败:posts.user_id
问题描述
我正在尝试创建一个创建页面,其中用户在表单中输入标题并选择图像,但是当我单击按钮添加新帖子时,我收到此错误:
SQLSTATE [23000]:完整性约束违规:19 NOT NULL 约束失败:posts.user_id(SQL:插入“posts”(“caption”、“image”、“updated_at”、“created_at”)值(asd、C:\ xampp\tmp\phpB7DC.tmp, 2021-03-12 13:06:56, 2021-03-12 13:06:56))
我想告诉你我正在使用一个 sqlite 数据库。
邮政模式:
class Post extends Model
{
protected $fillable = [
'caption', 'image',
];
public function user()
{
return $this->belognsTo(User::class);
}
}
帖子控制器:
class PostsController extends Controller
{
public function create()
{
return view('posts.create');
}
public function store() {
$data = request()->validate([
'caption' => 'required',
'image' => 'required|image',
]);
\App\Post::create($data);
dd(request()->all());
}
}
我在迁移文件夹中的表格帖子:
public function up()
{
Schema::create('posts', function (Blueprint $table) {
$table->bigIncrements('id');
$table->unsignedBigInteger('user_id');
$table->string('caption');
$table->string('image');
$table->timestamps();
$table->index('user_id');
});
}
解决方案
在您的迁移中,您没有编写此列 Nullable。
您需要添加post_id
验证。
$data = request()->validate([
'caption' => 'required',
'image' => 'required|image',
'post_id' => 'required|int'
]);
推荐阅读
- gitlab - 在 Gitlab Prometheus 集成中添加自定义指标
- javascript - 在将 react-router 5 与 redux 7 一起使用时,react-router在转到新路由后不会重置状态
- visual-studio - Clang tidy 不使用 Visual Studio
- amazon-rds - 无法将 RDS 连接到 Google 数据洞察
- asp.net-core-mvc - 我可以注册用户,但无法使用相同的凭据再次登录
- angular - 将值传递给 ngb 模态角度
- html - 为什么 Jquery 不给出
单击锚点时折叠的类? - node.js - 使用 express 从网站获取 html 返回无效的标头值 char
- django - 在 django 中重启 celery 和 celery beat schedule 关系
- javascript - HeaderRight 按钮不可点击(React Native)