我得到这个错误SQLSTATE23000:完整性约束违反: 1048列'discussion_id‘不能为null (SQL: insert insert replies (content,discussion_id,user_id,updated_at,created_at)值)值(asdfghjl,?,1,2021-05-09 :09:05,2021-05-09 :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
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class CreateRepliesTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('replies', function (Blueprint $table) {
$table->bigIncrements('id');
$table->integer('user_id');
$table->integer('discussion_id');
$table->string('content');
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('replies');
}
}讨论模型
<?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');
}
}发布于 2021-05-09 03:28:29
您在插入数据库时错过了讨论Id .如果您从控制器发送insert查询的图像或检查它,这将是很棒的。
https://stackoverflow.com/questions/67454040
复制相似问题