Laravel 5.2中的模型[App \ Project]没有查询结果如何修复

时间:2017-08-19 06:06:40

标签: php mysql laravel-5

您好我需要将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]的查询结果。

我该如何解决这个问题?

1 个答案:

答案 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');