在我的应用程序中,有两个表票证和航班号,我想循环来自表航班号的数据,即列路线与票证表具有相同的值(在表票证中也具有路线列)
表:门票
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/