在tp6中可以对结果集进行数组的转换,例如使用toArray:
$returnRes = $Db->limit($page_, $bars)->select()->toArray();
这种方式可以很直观的获得我们想要的数组:
array:4 [▼
"code" => "B0cloudServiceIndex"
"msg" => "查询,成功。"
"data" => array:10 [▼
0 => array:11 [▼
"id" => 16
"name" => "SF"
"Accesskey" => "SDFsdfsdf23"
"Secretkey" => "ssf322r"
"url" => "fsfsf"
"Bucket" => "4"
"describe" => "fsfs"
"status" => 0
"is_del" => 0
"create_time" => 1574163829
"update_time" => "2019-11-19 19:43:49"
]
1 => array:11 [▶]
2 => array:11 [▶]
3 => array:11 [▶]
4 => array:11 [▶]
5 => array:11 [▶]
6 => array:11 [▶]
7 => array:11 [▶]
8 => array:11 [▶]
9 => array:11 [▶]
]
"page" => array:3 [▶]
]
那么我们怎样把已经转换的数组转换成一个对象呢?
好,那么我们来看下未使用toArray时的情形:
array:4 [▼
"code" => "B0cloudServiceIndex"
"msg" => "查询,成功。"
"data" => Collection {#119 ▼
#items: array:10 [▼
0 => array:11 [▶]
1 => array:11 [▶]
2 => array:11 [▶]
3 => array:11 [▶]
4 => array:11 [▶]
5 => array:11 [▶]
6 => array:11 [▶]
7 => array:11 [▶]
8 => array:11 [▶]
9 => array:11 [▶]
]
}
"page" => array:3 [▶]
]
我们看data项,它与上面的区别在于他是一个Collection对象的集合。
所以我们使用这种方式:
new Collection($resultData['data'])
这样我们转换后就变成了一个对象集合了:
Collection {#115 ▼
#items: array:10 [▼
0 => array:11 [▶]
1 => array:11 [▶]
2 => array:11 [▶]
3 => array:11 [▶]
4 => array:11 [▶]
5 => array:11 [▶]
6 => array:11 [▶]
7 => array:11 [▶]
8 => array:11 [▶]
9 => array:11 [▶]
]
}
在以上的例子中我们的基础类继承了Collection :
class Base extends Collection
{
}
至此我们完成了数组与对象的互转。