您好我需要将Project Model id作为project_id传递给My Task Model表。这是我的TaskController
public function store(Request $request)
{
$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")));
// Find the project with the given id
$project = Project::findOrFail($request->get('project_id'));
// This will set the project_id on task and save it
$project->tasks()->save($task);
}
这是关于在项目文件夹刀片文件中存储任务数据的My form行动路线是show.blade.php
<form method="post" action="{{ route('tasks.store') }}">
这是任务模型
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');
}
这是项目模型
class Project extends Model
{
protected $fillable = ['project_name','project_notes','project_status','color','group'];
//
public function tasks(){
return $this->hasMany('App\Task');
}
但是我在这里得到了这个错误按摩
没有模型[App \ Project]的查询结果。
我该如何解决这个问题?
答案 0 :(得分:0)
Laravel模型假设您的主键是id。如果你在这种情况下有不同的主键,请在你的模型中定义它。
protected $ primarykey =&#34; project_id&#34 ;; //或其他什么
第二 - 我认为你应该在关系函数的第二个参数中使用你的外键名称。
return $this->hasMany('App\Task','foregin_key_name');
return $this->belongsTo('App\Project','foreign_key_name');