gpt4 book ai didi

php - SQLSTATE[23000] : Integrity constraint violation: in Laravel 5. 2

转载 作者:行者123 更新时间:2023-11-29 10:39:32 24 4
gpt4 key购买 nike

我需要将项目模型 ID 作为 project_id 传递到“我的任务模型”表。这是我的任务 Controller

     public function store(Request $request, Project $project)
{
$task = new Task;
$task->task_name = $request->input('name');
$task->body = $request->input('body');
$task->assign = $request->input('status');
$task->priority = $request->input('status');
$task->duedate = date("Y-m-d", strtotime($request->input("date")));
$task->project_id = $project->id;


// This will set the project_id on task and save it
$project->tasks()->save($task);
}

这是我的表单操作路线,涉及将任务数据存储在项目文件夹 Blade 文件中,为 show.blade.php

<form method="post" action="{{ route('tasks.store') }}">

这是任务模式

<?php

namespace App;

use App\User;
use App\Auth;
use App\Project;

use Illuminate\Database\Eloquent\Model;

class Task extends Model
{
protected $fillable = ['task_name', 'body', 'assign','priority','duedate','project_id'];



public function scopeProject($query, $id)
{
return $query->where('project_id', $id);
}


public function projects()
{
return $this->belongsTo('App\Project');
}


//
}

这是项目模型

 {
protected $fillable = ['project_name','project_notes','project_status','color','group'];
//

public function tasks(){
return $this->hasMany('App\Task');
}


but I got this error massage here

SQLSTATE[23000]:违反完整性约束:1048 列“project_id”不能为空 如何解决这个问题?

最佳答案

在 store() 函数中,您没有为任务指定 project_id。

因此,当您保存任务时,它会使project_id 行为空。默认情况下,一行不允许这样做。这就是您收到此错误的原因。

我认为添加这一行会起作用:

 $task->project_id = $project->id;

您还可以在迁移中将project_id 设置为可为空。如果您这样做,则允许project_id 为空。但我不认为这是你想要的。

关于php - SQLSTATE[23000] : Integrity constraint violation: in Laravel 5. 2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45769413/

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