Php 从一对多(逆)关系laravel获取数据

Php 从一对多(逆)关系laravel获取数据,php,laravel,laravel-5.3,blade,laravel-blade,Php,Laravel,Laravel 5.3,Blade,Laravel Blade,我有两个模型“Trips.php” public function region() { return $this->belongsTo('App\Region'); } Region.php public function trips() { return $this->hasMany('App\Trip'); } 我试图展示一个特定地区的旅行。例如:我有一个名为湖边的区域,我想在列表中显示湖边区域中的所有行程 我尝试了以下方法: 在控制器中: $trips

我有两个模型“Trips.php”

public function region() 
{
    return $this->belongsTo('App\Region');
}
Region.php

public function trips()
{
    return $this->hasMany('App\Trip');
}
我试图展示一个特定地区的旅行。例如:我有一个名为
湖边
的区域,我想在列表中显示
湖边
区域中的所有行程

我尝试了以下方法:

在控制器中:

$trips = Trip::all();
鉴于:

@foreach($trips as $trip)
<li><a href="#">
    {{$trip->region->name}}</a>
    <ul class="dropdown">
        <li><a href="#">
            {{$trip->title}}</a>
        </li>    
    </ul>
</li>
@endforeach   
@foreach($trips作为$trip)
  • @endforeach
    这会给我区域名称和行程名称,但如果在同一区域内进行了多个行程,则会重复区域名称

    并尝试了另一种方法(相反):

      @foreach($regions作为$region)
    • @endforeach

    获取错误
    尝试获取非对象的属性

    通过获取带有区域的旅行,您实际上得到的是每个带有区域属性的旅行

    相反,使用('trips')->where('id',$regionId)->get()可以得到带有trips的区域。所以现在每个区域结果都有一个trips属性,它包含许多trips

    或者,不要使用急加载。所以
    Region::firstOrFail($regionId)
    然后使用
    $Region->trips

    你可以像这样循环

    // Can print region here
    @foreach($region->trips as $trip)
        // Can print region's trips here
    @endforeach
    

    通过获取带有区域的旅行,您实际上得到的是带有区域属性的每次旅行

    相反,使用('trips')->where('id',$regionId)->get()可以得到带有trips的区域。所以现在每个区域结果都有一个trips属性,它包含许多trips

    或者,不要使用急加载。所以
    Region::firstOrFail($regionId)
    然后使用
    $Region->trips

    你可以像这样循环

    // Can print region here
    @foreach($region->trips as $trip)
        // Can print region's trips here
    @endforeach
    

    一种方法是使用:

    $trips
    $regionName
    传递到视图:

    @foreach ($trips as $trip)
        <li><a href="#">{{ $regionName }}</a>
            <ul class="dropdown">
                <li><a href="#">
                    {{ $trip->title }}</a>
                </li>    
            </ul>
        </li>
    @endforeach   
    
    @foreach ($region->trips as $trip)
        <li><a href="#">{{ $region->name }}</a>
            <ul class="dropdown">
                <li><a href="#">
                    {{ $trip->title }}</a>
                </li>    
            </ul>
        </li>
    @endforeach  
    
    并且认为:

    @foreach ($trips as $trip)
        <li><a href="#">{{ $regionName }}</a>
            <ul class="dropdown">
                <li><a href="#">
                    {{ $trip->title }}</a>
                </li>    
            </ul>
        </li>
    @endforeach   
    
    @foreach ($region->trips as $trip)
        <li><a href="#">{{ $region->name }}</a>
            <ul class="dropdown">
                <li><a href="#">
                    {{ $trip->title }}</a>
                </li>    
            </ul>
        </li>
    @endforeach  
    
    @foreach($region->trips as$trip)
    
  • @endforeach
    一种方法是使用:

    $trips
    $regionName
    传递到视图:

    @foreach ($trips as $trip)
        <li><a href="#">{{ $regionName }}</a>
            <ul class="dropdown">
                <li><a href="#">
                    {{ $trip->title }}</a>
                </li>    
            </ul>
        </li>
    @endforeach   
    
    @foreach ($region->trips as $trip)
        <li><a href="#">{{ $region->name }}</a>
            <ul class="dropdown">
                <li><a href="#">
                    {{ $trip->title }}</a>
                </li>    
            </ul>
        </li>
    @endforeach  
    
    并且认为:

    @foreach ($trips as $trip)
        <li><a href="#">{{ $regionName }}</a>
            <ul class="dropdown">
                <li><a href="#">
                    {{ $trip->title }}</a>
                </li>    
            </ul>
        </li>
    @endforeach   
    
    @foreach ($region->trips as $trip)
        <li><a href="#">{{ $region->name }}</a>
            <ul class="dropdown">
                <li><a href="#">
                    {{ $trip->title }}</a>
                </li>    
            </ul>
        </li>
    @endforeach  
    
    @foreach($region->trips as$trip)
    
  • @endforeach
    是否可以在服务提供商中执行此操作??因为我正在尝试制作导航栏。是否可以在服务提供商中进行此操作??当我试图制作导航栏时。