首页 > 解决方案 > 你如何在 laravel 中显示数据透视表数据?

问题描述

我在一个城市有更多的车站,我想用station_city_id来显示city_name第二张桌子的表格

<tbody>

    @foreach ($station as $stations )

        <tr>

            <th scope="row">{{ $stations->station_name }}</th>

这是我想要来自不同数据库的城市名称并且我不想对其进行硬编码的地方

                {{ $city_name }}

            </td>

            <td>{{ $stations->station_phone_1 }}</td>
            <td>{{ $stations->station_phone_2 }}</td>

        </tr>

    @endforeach

</tbody

标签: databaselaravelviewmodelcontroller

解决方案


查看Eloquent:关系

具有各自 id 的数据库方案表:

  • 城市
  • 车站
  • city_station

定义每个模型中的关系

Cities.php 模型

public function stations()
{
  return $this->belongsToMany('App\Stations');
}

Stations.php 模型

public function city()
{
  return $this->belongsTo('App\Cities');
}

控制器

//$id = City id
public function view_cities_stations($id) {
  $city = Cities::find($id);

  return view('view', compact('city'));
}

刀片视图

@foreach($city->stations as $station)
  {{$station->name}}
@endforeach

推荐阅读