【问题标题】:Laravel retrieve data with with related tablesLaravel 使用相关表检索数据
【发布时间】:2021-05-16 21:13:45
【问题描述】:

我想显示属于所选用户的所有行业、专业和技能。我被语法困住了。这是我的代码。第一行是正确的,但我需要链接用户的所有其他行。例如:$major->myUsers->mySkills 作为 $skills

@foreach($user->myIndustries as $industry)
       <h4> {{ $industry->title }}</h4>  <br>
        @foreach( $industry->myMajors as $major)
           <B>{{ $major->title }} - </B>
            @foreach($major->mySkills->unique() as $skills)
                {{ $skills->name }}
            @endforeach
            <br>
            @endforeach()
    @endforeach

【问题讨论】:

    标签: database laravel syntax relationship linktable


    【解决方案1】:

    您是否可以在控制器中检索具有相关表的数据并将其传递给您的视图,而不是直接在您的视图中执行此操作。我希望你已经正确定义了 ORM 关系,因为这可以让它变得更容易

    【讨论】:

    • 如何检索通过两个表的数据是我的主要问题。如果我可以检索它,那么显示不是问题。我想显示一个分类视图,如行业>主要>属于用户的技能。
    • hellowith 这个调用,$this->skills = \App\Models\Major::where('major_id',$major_id)->with('mySkills')->get();我从两个表中获取值,但是如何从 mySkills 中选择数据?我用了 ->pivot->name 不起作用
    【解决方案2】:

    试试这个代码:

    @foreach($user->myIndustries as $industry)
       <h4> {{ $industry->title }}</h4>  <br>
        @foreach( $industry->myMajors as $major)
           <B>{{ $major->title }} - </B>
            @foreach($major->mySkills->unique() as $skills)
                {{ $skills->name }}
            @endforeach
            <br>
        @endforeach
    @endforeach
    

    【讨论】:

    • @mmmsabeel 你应该在 endforeach 之后删除 ()
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-11-13
    • 1970-01-01
    • 1970-01-01
    • 2015-12-18
    • 2019-02-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多