Laravel 8 Selects 子查询

2021-07-19 11:24 更新

Eloquent 提供了高级子查询支持,你可以用单条查询语句从相关表中提取信息。举个例子,假设我们有一个目的地表 destinations 和一个到目的地的航班表 flightsflights 表包含一个 arrival_at 字段,表示航班何时到达目的地。

使用子查询功能提供的 selectaddSelect 方法,我们可以用单条语句查询全部目的地 destinations,以及抵达各目的地最后一班飞机的名称:

use App\Models\Destination;
use App\Models\Flight;

return Destination::addSelect(['last_flight' => Flight::select('name')
    ->whereColumn('destination_id', 'destinations.id')
    ->orderBy('arrived_at', 'desc')
    ->limit(1)
])->get(); 
以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号