首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >具有多个父ids的Laravel查询

具有多个父ids的Laravel查询
EN

Stack Overflow用户
提问于 2017-03-15 05:24:50
回答 1查看 158关注 0票数 0

我想知道在某个项目中从所有sprint中选择所有可交付产品的最有效方法是什么。在此之前,我只需要查询它们,并使用blade.php for循环和if语句来筛选我需要的可交付产品。在php中执行此任务最有效的方法是什么?

冲刺控制器:

代码语言:javascript
复制
<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

use App\Http\Requests;
use App\Http\Requests\SprintRequest;

use Reponse;

use App\Sprint;
use App\Deliverable;
use App\Project;

class SprintController extends Controller
{
    private function __construct(){
        $this->middleware('role:admin', ['except' => ['index', 'show']]);
}

    public function index($project_id)
    {
        $project = Project::findOrFail($project_id);
        $sprints = $project->sprints()->get();
        $deliverables = array();

        foreach ($sprints as $sprint) {
            array_push($deliverables, $sprint->deliverables()->get());
        }

        $amount = 0;
        $completed = 0;
        foreach ($deliverables as $deliverable) {
            if ($deliverable->complete == '1' && $deliverable->sprint_id == $sprint->id && $deliverable->inactive == '0') {
                $completed += 1;
                $amount += 1;
            }
            else if ($deliverable->sprint_id == $sprint->id && $deliverable->inactive == '0') {
                $amount += 1;
            }
        }

        return view('sprints.index', compact('sprints', 'deliverables', 'amount', 'completed', 'project'));
    }
    public function create($project_id)
    {
        $project = Project::findOrFail($project_id);
        $sprint = new Sprint;

        return view('sprints.create', compact('project', 'sprint'));
    }

    public function store(SprintRequest $request, $project_id)
    {
        $project = Project::findOrFail($project_id);
        $sprint = new Sprint;

        $sprint->name = $request->name;

        $project->sprints()->save($sprint);

        return "success";
    }

    public function edit($project_id, $sprint_id)
    {
        $project = Project::findOrFail($project_id);
        $sprint = $project->sprints()->findOrFail($sprint_id);

        return view('sprints.edit', compact('project', 'sprint'));
    }

    public function update(SprintRequest $request, $project_id, $sprint_id)
    {
        $project = Project::findOrFail($project_id);
        $sprint = $project->sprints()->findOrFail($sprint_id);

        $sprint->name = $request->name;

        $sprint->save();

        return "success";
    }   


}

到目前为止,这就是我所拥有的,但它给了我这个错误。

BindingResolutionException第748行中的Container.php :目标应用程序\Http\Controller\SprintController不可实例化。

谢谢

EN

回答 1

Stack Overflow用户

发布于 2017-03-15 06:48:31

构造函数是私有的,这就是为什么实际上存在此错误的原因。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42801683

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档