php - 如何在foreach Laravel中渲染FK值

标签 php mysql database laravel

在我的应用程序中,有两个表票证和航班号,我想循环来自表航班号的数据,即列路线与票证表具有相同的值(在表票证中也具有路线列)

表:门票


ID
路线
名称
depart_city_id
到达的城市编号


表:航班


ID
路线

airline_id(FK)
seat_type(FK)


如果我这样查询

$ticket_flights = DB::table('tickets') ->leftJoin('flights', 'flights.route', '=', 'tickets.route')->orderBy('price', 'asc')->get();


我可以获取所需的循环,但无法呈现类似air_id或seat_type的FK值

但是如果我这样查询

 $ticket_flights = Flight::with('airline')->get();


我可以渲染FK,但是即使机票表没有相同的路线,也将从航班表中获取所有数据

这是我的for循环

@foreach ($ticket_flights as $flight)
  <tr>
     <td class="text-center">
          <img src="{{$flight->airline->logo }}" class="logo-airline">
     </td>
      <td>{{ date('M j, Y', strtotime($flight->ticketing_period_start)) }} - {{ date('M j, Y', strtotime($flight->ticketing_period_end)) }}</td>
      <td>{{ date('M j, Y', strtotime($flight->ticketing_period_start)) }} - {{ date('M j, Y', strtotime($flight->ticketing_period_end)) }}</td>
      <td>{{ $flight->travel_class->name }}</td>
      <td class="text-right">{{$flight->price }}THB</td>
      <td class="text-center">
          <a href="#" class="btn btn-success btn-sm">View</a>
          <a href="#" class="btn btn-danger btn-sm">Book</a>
      </td>
  </tr>
@endforeach


我已经在Flight模型中建立了关系,并在单个页面中建立了FK

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

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

最佳答案

仅使用Join

$ticket_flights = DB::table('tickets') 
                 ->Join('flights', 'flights.route', '=', 'tickets.route')
                 ->orderBy('price', 'asc')
                 ->get();

关于php - 如何在foreach Laravel中渲染FK值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58927081/

相关文章:

php - array_unique 和 preg_split PREG_SPLIT_NO_EMPTY 的等效项

mysql系统命令

php - 将变量作为 <span> 传递给模态,然后需要在 SQL 查询中使用解析后的变量

sql - 如何在 MySQL 中搜索以 A 开头的名称?

MYSQL - 如何返回两列的唯一计数

java - JBoss DefaultDS——要改变吗?还是不改变?

PHP如何从表中获取所有数据并将其相应地放入div中

php - 从闭包中调用 protected __construct... 在 5.4.14 中有效,但在 5.3 中无效?

php - 根据 LIKE 出现次数进行排序 Laravel Php

sqlite 触发器检查新元组值与子查询的相等性