我要在当前的Laravel网站上创建一个投票系统,但是有一个问题,我在使用Laravel updateOrCreate()
方法时根本不了解。
这就是我想要做的:
$vote = Vote::updateOrCreate(
['thread_id' => $id, 'user_id' => Auth::id()],
['type' => $request->type]
);
是否对thread_id
进行投票,并且user_id
使用type
值更新其$request->type
字段。如果不是,请创建一个新记录。无论哪种方式,我都会遇到一个Integrity constrait violation: 1048
错误,提示:'user_id' cannot be null
我用这种方法做错了吗?
这是我的Vote
模型迁移:
Schema::create('votes', function (Blueprint $table) {
$table->increments('id');
$table->integer('user_id')->unsigned();
$table->integer('thread_id')->unsigned();
$table->boolean('type');
$table->timestamps();
$table->foreign('user_id')->references('id')->on('users')->onDelete('cascade');
$table->foreign('thread_id')->references('id')->on('threads')->onDelete('cascade');
});
在此先感谢您的英语不好!