Laravel 预加载 SQL?
Laravel eager loading SQL?
我有以下代码用于使用预先加载检索 Reservation 和 ReservationDetail:
$reservationsDetail = ReservationDetail::with('reservation')
->whereDate('date_res', '=', Carbon::today()->toDateString())
->toSql();
dd($reservationsDetail);
在浏览器上打印此 SQL 查询:
select * from `tbl_reservation_detail` where date(`date_res`) = ?
它不应该显示预订 table 的检索吗 (tbl_reservation)?我如何确保它实际上正在检索两者(即预加载按预期工作)?
顺便说一句,我在 ReservationDetail 模型上有 BelongsTo 关系:
public function reservation(){
return $this->belongsTo('App\Reservation', 'id_reservation');
}
检索关系是第二个查询。您可以通过安装 Laravel Debugbar 确保它正常工作。它显示了所有已执行的查询。 dd(DB::getQueryLog());
也许还能帮到你。
我有以下代码用于使用预先加载检索 Reservation 和 ReservationDetail:
$reservationsDetail = ReservationDetail::with('reservation')
->whereDate('date_res', '=', Carbon::today()->toDateString())
->toSql();
dd($reservationsDetail);
在浏览器上打印此 SQL 查询:
select * from `tbl_reservation_detail` where date(`date_res`) = ?
它不应该显示预订 table 的检索吗 (tbl_reservation)?我如何确保它实际上正在检索两者(即预加载按预期工作)?
顺便说一句,我在 ReservationDetail 模型上有 BelongsTo 关系:
public function reservation(){
return $this->belongsTo('App\Reservation', 'id_reservation');
}
检索关系是第二个查询。您可以通过安装 Laravel Debugbar 确保它正常工作。它显示了所有已执行的查询。 dd(DB::getQueryLog());
也许还能帮到你。