【问题标题】:Laravel (show project title in the selected issue)Laravel(在所选问题中显示项目标题)
【发布时间】:2021-12-18 10:39:44
【问题描述】:

我想在问题中显示所选项目的项目名称。

HomeController(显示分配给用户的项目)

public function index()
{
    $companies = auth()->user()->companies;
    $projects  = Project::whereIn('company_id',$companies->pluck('id'))->get();

    return view('home',compact('companies','projects'));
}

ProjectController(显示所选项目的问题)

public function show($id){
    $project = Project::find($id);
    if(!$project)
        abort(404);

    $issues = $project->issues;
    return view('issues', compact('issues'));
}

issue.blade.php

<div class="container">

        <img src="assets/user.png" class="h-10 m-5 inline-block"><span class="font-bold text-xl">{{ auth()->user()->name }}</span>
        
        <span class="font-bold text-xl">{{ $project->title }}</span>
        <h1 class="ml-5 font-bold text-2xl">Issues</h1>
        <div class="grid grid-cols-3 gap-4 md:grid-cols-3 m-5 ">
            @forelse($issues as $issue)
                <div class="bg-pink-700 h-32 rounded-md p-5 transition duration-500 ease-in-out hover:bg-black transform hover:-translate-y-1 hover:scale-110s">
                    <a href="" class="text-xl font-bold m-5 text-white">{{$issue->title}}</a>
                </div>
            @empty

            @endforelse
    </div>
</div>

路线

Route::get('/home', [\App\Http\Controllers\HomeController::class, 'index'])->name('home');

Route::get('/issues/{id}', [\App\Http\Controllers\ProjectController::class, 'show'])->name('projects.show');

【问题讨论】:

    标签: php laravel laravel-blade


    【解决方案1】:

    只是一个提示,而不是使用:

     $project = Project::find($id);
        if(!$project)
            abort(404);
    

    你可以使用 $project = Project::findOrFail($id);

    现在回答你的问题:

    您可以将$project 模型传递给视图,而不仅仅是问题。

    public function show($id){
        $project = Project::findOrFail($id);
        return view('issues', compact('project'));
    }
    
    

    然后您可以通过 foreach 循环中的-&gt;issues 关系获取相关问题:

    <div class="container">
                ......
            <span class="font-bold text-xl">{{ $project->title }}</span>
                ......
            <div class="grid grid-cols-3 gap-4 md:grid-cols-3 m-5 ">
                @forelse($project->issues as $issue)
                   .....
                @empty
                  .....
                @endforelse
        </div>
    </div>
    
    

    【讨论】:

    • 有效!非常感谢!
    • @GabRomero 如果您可以投票并将答案标记为已接受,我也会很高兴。祝你有美好的一天:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-01
    • 2018-06-04
    • 2014-05-10
    • 1970-01-01
    • 2015-09-25
    • 2021-04-24
    相关资源
    最近更新 更多