【问题标题】:How to grab data from another table with this relationship setup?如何使用此关系设置从另一个表中获取数据?
【发布时间】:2015-01-11 22:21:45
【问题描述】:

我有四张桌子

城市

  id
  city
  state_id

状态

 id
 name

City_Vendor

 id
 vendor_id
 city_id

供应商

 id 
 name

现在,如果我做这样的事情,我会得到城市和 state_id,但不会得到州名

   Vendor::with('cities')->get();

这就是我所做的,以获得我认为不理想的状态..

              <?php foreach($vendor['cities'] as $state): ?>
                  @if($state['state_id'] == $city['state_id'])
                    {{$state['state']['state']}}
                    <?php break; ?>
                  @endif
              <?php endforeach;?>

我也想获得州名,而不仅仅是 state_id。这样做的最佳方法是什么?

【问题讨论】:

    标签: laravel laravel-4 eloquent


    【解决方案1】:

    假设你有正确的关系,它应该是这样的:

    @foreach ($vendor->cities as $city)
      {{ $vendor->city->city}}, {{$vendor->city->state->name}}
    @endforeach
    

    在上面的代码中,您显示的是一个带有州名的供应商城市

    而不是:

    Vendor::with('cities')->get();
    

    你应该使用:

    Vendor::with('cities.state')->get();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-05-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-04-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多