我面临的一个问题是,我必须从具有特定条件的数据库中选择一条记录(其中status = 0),之后如果大约20k行来自select查询,那么我添加了foreach循环以应用一些条件并且condition true我将每个获取的行的状态从0更新为1,将1更新为2,依此类推......
我的问题是当大量数据来自数据库时,此过程将挂起并且服务已停止。
请指导我在foreach的地方还能做些什么... if..else等...
答案 0 :(得分:0)
Use hash insted of foreach
// Common Usage:
$users = [
['id' => 1, 'name' => 'mark'],
['id' => 2, 'name' => 'jane'],
['id' => 3, 'name' => 'sally'],
['id' => 4, 'name' => 'jose'],
];
$results = Hash::extract($users, '{n}.id');
// $results equals:
// [1,2,3,4];