【发布时间】:2020-03-20 07:31:36
【问题描述】:
我有两个系列。第一个是一个大集合。另一种是删除列表。例如:
$data= List::where('status', true)->get();
$list= List::where('begin_at', '<', Carbon::now())->pluck('id');
$result = $data->whereNotIn('id', $list);
这只是一个简单的例子。我有一个动态数据。我的问题是:
当我返回$data 时,它返回[{}, {}, ...] 格式
但是当我返回$result时,它返回{}, {}, ...
我尝试了$result->toArray()、$result->toCollapse(),但它们都不起作用。
为什么在get()之后,使用where条件改变集合的类型?为什么数组符号不见了?解决方案的最佳实践是什么?提前致谢。
【问题讨论】:
-
不是您正在寻找的答案,但您实际上可以单独修改第一个查询获得相同的结果。
$data= List::where('status', true)->where('begin_at', '>', Carbon::now())->get(); -
@user3532758 是的。它将在单个查询中工作。亲爱的 Ali Ozen,你为什么让它变得复杂?!有什么具体原因吗?
-
很抱歉,@KarthikSWOT 回复晚了。我只是举一些例子。我现在无法更改工作代码。我只是大项目的一小部分。只需在返回的查询中添加额外的 eloquent 查询即可。
标签: php arrays laravel collections eloquent