/** * Делает выборку из базы данных по заполненным свойствам входного * параметра. Либо извлекает все записи, если входной параметр NULL * * @param \REXFramework\model\Entity $entity Сущность, по которой искать * @return \REXFramework\model\Table Объект таблицы */ protected function doFind(\REXFramework\model\Entity $entity = null) { if (!is_null($entity)) { $fieldsArr = $entity->getFieldsAsArray(); $selectFields = array(); foreach ($fieldsArr as $name => $val) { $selectFields[] = $name; } $this->SQLBuilder->select($selectFields); } else { $this->SQLBuilder->select(); } $this->SQLBuilder->from($this->getTableName()); if (!is_null($entity)) { $this->SQLBuilder->where($entity->getFieldsAsArray(true), $this->getTableName()); } $this->SQLBuilder->assemble(); return $this; }