Php 完整性约束冲突:1048列';讨论id';不能为空(SQL:insert into`replies`
我收到此错误SQLSTATE[23000]:完整性约束冲突:1048列“讨论id”不能为空(SQL:insert intoPhp 完整性约束冲突:1048列';讨论id';不能为空(SQL:insert into`replies`,php,laravel,Php,Laravel,我收到此错误SQLSTATE[23000]:完整性约束冲突:1048列“讨论id”不能为空(SQL:insert into回复(内容,讨论id,用户id,更新时间,创建时间)值(asdfghjl,12021-05-09 03:09:052021-05-09:05) 这是我的回复模式 <?php namespace LaravelForum; class Reply extends Model { public function users() { retur
回复(内容,讨论id
,用户id
,更新时间
,创建时间
)值(asdfghjl,12021-05-09 03:09:052021-05-09:05)
这是我的回复模式
<?php
namespace LaravelForum;
class Reply extends Model
{
public function users()
{
return $this->belongsTo(User::class,'user_id');
}
public function discussion()
{
return $this->belongsTo(Discussion::class);
}
}
<?php
namespace LaravelForum;
class Discussion extends Model
{
public function author()
{
return $this->belongsTo(User::class,'user_id');
}
public function getRouteKeyName()
{
return 'slug';
}
}
您在插入数据库时错过了讨论Id…这将非常好
如果您从控制器发送insert查询的图像或在那里检查它。这里是控制器的存储方法:公共函数存储(CreateReplyRequest$request,Discussion$Discussion){auth()->user()->replies()->create(['content'=>$request->content,'discussion\u id'=>$request->id]);使用echo在控制器中记录$request->id是否可用我在laravel是新手我无法了解如何检查特定查询。给我一些说明。在你的存储控制器公共函数存储中(CreateReplyRequest$request,Discussion$Discussion){return dd($request->id)}我认为您应该使用$Discussion->id
而不是$request->id
中的$request->id
<?php
namespace LaravelForum;
class Discussion extends Model
{
public function author()
{
return $this->belongsTo(User::class,'user_id');
}
public function getRouteKeyName()
{
return 'slug';
}
}
<?php
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class CreateDiscussionsTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('discussions', function (Blueprint $table) {
$table->bigIncrements('id');
$table->integer('user_id');
$table->string('title');
$table->text('content');
$table->string('slug');
$table->integer('channel_id');
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('discussions');
}
}