代码之家  ›  专栏  ›  技术社区  ›  Rohan Shukla

Laravel显示用户的特定项目详细信息

  •  0
  • Rohan Shukla  · 技术社区  · 6 年前

    我有一个多对多数据透视表(project_user),并且成功地获取了经过身份验证的用户的所有项目。

    写控器。php

    public function writerProjects()
    {
        $projects = auth()->user()->projects;
    
        dd($projects);
    
        return view('writers.projects', compact('projects'));
    } 
    

    网状物php

    Route::get('users/{user}/projects', ['as' => 'showProjects', 
        'uses' => 'WriterController@writerProjects']);
    

    我的问题是如何获得具体项目的细节?到目前为止,我的方法是这样的(尽管不起作用)。

    public function showWriterProjects($id)
    {
        $projects = auth()->user()->projects;
    
        foreach($projects as $p)
        {
            dd($p->name);
        }
    
        return view('writers.projects.show', compact('projects'));
    }
    

    网状物php就是为了这个

    Route::get('users/{user}/projects/{project}', ['as' => 'showSingleProject', 
    'uses' => 'WriterController@showWriterProjects']);
    

    我做错了什么?

    多对多关系已在用户界面中定义。php和Project。php,它们似乎很容易发布。

    1 回复  |  直到 5 年前
        1
  •  0
  •   Tharaka Dilshan    6 年前

    由于我不清楚“项目的细节”是什么意思,我将使用项目名称。

    想象一下,你只需要“projects”的“name”属性

    控制器

    public function showWriterProjects($id)
    {
        $project_names = auth()->user()->projects->map->name;
    
        return view('writers.projects.show', compact('project_names'));
    }