【发布时间】:2018-10-22 15:00:13
【问题描述】:
我通常使用 Eloquent Laravel 单独选择我的项目
$b = Booking::where("id","=",$id)->get();
我得到的是一个带有一个项目的 Illuminate\Database\Eloquent\Collection。 稍后我将它们放入一个数组中,这样我就有了一个包含这些 Illuminate\Database\Eloquent\Collection 对象的数组。
但有时我需要更多,所以我会这样做:
$bs = Booking::where("date","=",$today)->get();
现在这是一个包含多个项目的集合。有没有一种简单的方法可以用单个项目更改 Illuminate\Database\Eloquent\Collection 数组中多个项目的 Illuminate\Database\Eloquent\Collection?
我当然可以:
$bs = Booking::where("date","=",$today)->get();
foreach ($bs as $i=>$b) $bs2[] = Booking::where("id","=",$b->id)->get();
但是从 DB 中再次选择似乎是一个相当愚蠢的解决方案。
编辑:
如果我这样做,我有:
- $bs 作为“收藏”对象,内部包含 15 个“预订”对象。
- $bs1 作为一个包含 15 个“集合”对象的数组,每个对象内部包含 1 个“预订”对象。 (这就是我想要的)
->toArray() 创建一个包含 15 个数组的数组。那不是我想要的——我需要这些物品。由于 eloquent 提供了诸如日期字段之类的功能,因此自动成为 DateTime 对象
【问题讨论】:
-
您在寻找
toArray()吗?