类 ResultSetFactory
用于生成 ResulSet 实例的工厂类。
它负责正确地嵌套查询报告的结果键,并对实体进行水合。
命名空间: Cake\ORM
属性摘要
-
$resultSetClass protected
class-stringCake\Datasource\ResultSetInterface>
方法摘要
-
collectData() protected
获取存储库及其关联数据,用于嵌套结果键和实体水合。
-
createResultSet() public
创建一个结果集实例。
-
getResultSetClass() public
获取要使用的 ResultSet 类。
-
groupResult() protected
正确地嵌套结果键,包括来自关联的结果键。
-
setResultSetClass() public
设置要使用的 ResultSet 类。
方法详情
collectData() ¶ protected
collectData(Cake\ORM\Query\SelectQuery $query): array
获取存储库及其关联数据,用于嵌套结果键和实体水合。
参数
-
Cake\ORM\Query\SelectQuery
$query 从中获取数据的查询。
返回值
array
createResultSet() ¶ public
createResultSet(iterable $results, Cake\ORM\Query\SelectQuery<T>|null $query = null): Cake\Datasource\ResultSetInterface
创建一个结果集实例。
参数
-
iterable
$results 结果。
-
Cake\ORM\Query\SelectQuery<T>|null
$query optional 结果来源的查询。
返回值
Cake\Datasource\ResultSetInterface
getResultSetClass() ¶ public
getResultSetClass(): class-stringCake\Datasource\ResultSetInterface>
获取要使用的 ResultSet 类。
返回值
class-stringCake\Datasource\ResultSetInterface>
groupResult() ¶ protected
groupResult(array $row, array $data): Cake\Datasource\EntityInterface|array
正确地嵌套结果键,包括来自关联的结果键。
如果启用了水合,则将行数组水合到实体中。
参数
-
array
$row 包含列和值的数组。
-
array
$data 包含表和查询元数据的数组
返回值
Cake\Datasource\EntityInterface|array
setResultSetClass() ¶ public
setResultSetClass(class-stringCake\Datasource\ResultSetInterface> $resultSetClass): $this
设置要使用的 ResultSet 类。
参数
-
class-stringCake\Datasource\ResultSetInterface>
$resultSetClass 类名。
返回值
$this