【问题标题】:No query results for model [App\Project] in Laravel 5.2 how to fixLaravel 5.2 中模型 [App\Project] 没有查询结果如何解决
【发布时间】:2017-08-19 06:06:40
【问题描述】:

您好,我需要将项目模型 ID 作为 project_id 传递给我的任务模型表。这是我的任务控制器

 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);
}

这是我在项目文件夹刀片文件中存储任务数据的表单操作路线是 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] 没有查询结果。

我该如何解决这个问题?

【问题讨论】:

    标签: php mysql laravel-5


    【解决方案1】:

    Laravel 模型假设您的主键是 id。如果在这种情况下您有不同的主键,请在您的模型中定义它。

    受保护的 $primarykey = "project_id"; // 或者不管它是什么

    第二个 - 我认为您应该在关系函数的第二个参数中使用您的外键名称。

    return $this->hasMany('App\Task','foregin_key_name');
    return $this->belongsTo('App\Project','foreign_key_name');
    

    【讨论】:

      猜你喜欢
      • 2018-02-11
      • 1970-01-01
      • 2019-12-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多