{{csrf_field()}} A-6ren">
gpt4 book ai didi

php - 'user_id' 在 Laravel 5.4 中没有默认值错误

转载 作者:行者123 更新时间:2023-11-29 03:20:15 26 4
gpt4 key购买 nike

在我正在处理的项目中,我有一个用户表,我有另一个表包含分配给他们的项目。我正在使用这段代码:

<form method="POST" action="/User/{{$user->id}}/projects">
{{csrf_field()}}
<div class="form-group">
<textarea name="name"></textarea>
</div>
<div class="form-group">
<textarea name="description" placeholder="Enter project description here"></textarea>
</div>

<div class="form-group">
<button type="submit">Add Project for User</button>
</div>

在 Controller 中我使用了这段代码:

public function store(User $user)
{
Project::create([
'user_id ' => $user->id,
'name' => request('name'),
'description' => request('description'),


]);


return back();
}

并且项目表有这个代码:

 public function up()
{
Schema::create('projects', function (Blueprint $table) {
$table->increments('id');
$table->integer('user_id');
$table->string('name');
$table->string('description');
$table->timestamps();
});
}

现在,当我为用户添加项目时,但出现此错误:

"SQLSTATE[HY000]: General error: 1364 Field 'user_id' doesn't have a default value (SQL: insert into `projects` (`name`, `description`, `updated_at`, `created_at ▶"

我该如何解决这个问题?

最佳答案

如果 /User/{{$user->id}}/projectsPOST 路由到 store(User $user) 我认为您需要将其更新为 store($user_id)

public function store($user_id)
{
Project::create([
'user_id ' => $user_id,
'name' => request('name'),
'description' => request('description'),


]);


return back();
}

路由只是传递当前用户的 ID,而不是 User 模型。

关于php - 'user_id' 在 Laravel 5.4 中没有默认值错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46427747/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com