プロジェクトモデルIDをproject_idとしてマイタスクモデルテーブルに渡す必要があります。これは、これは、プロジェクトフォルダブレード・ファイル内の店舗のタスクデータに係るマイフォームアクションのルートである SQLSTATE [23000]:整合性制約違反:Laravel 5.2
<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');
}
//
}
タスクモードであるshow.blade.phpあるマイTaskController
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);
}
です
これはプロジェクトモデル
{
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'をnullにすることはできません この問題をどのように修正できますか?
作成している新しいタスクにストア関数のproduct_idを追加する必要があります。あなたが今それをしていないので、それはnullです。 –
ここでコード例を実行できますか? please – Lilan
@Raidersの回答 –