private _findOne ( array $criteria = null, array $group = null, array $order = null ) : |
||
$criteria | array | optional The search criteria. |
$group | array | optional The group by parameter. |
$order | array | optional The results order |
return | Gets found entity or null if nothing found |
private function _findOne(array $criteria = null, array $group = null, array $order = null)
{
$list = $this->_find($criteria, $group, $order, 1);
switch (true) {
case $list instanceof EntityIterator:
if (count($list)) {
$list->rewind();
$ret = $list->current();
} else {
$ret = null;
}
break;
case $list instanceof ArrayCollection:
$ret = count($list) ? reset($list) : null;
break;
case $list instanceof \ADORecordSet:
if (($ret = $list->FetchRow()) === false) {
$ret = null;
}
}
return $ret;
}