/**
  * @author KienNN
  * @param \System\Model\Controller $controller
  */
 public function get($controller)
 {
     $dbAdapter = $this->getDbAdapter();
     if (!$controller->getId() && (!$controller->getModuleId() || !$controller->getName())) {
         return null;
     }
     $dbAdapter = $this->getDbAdapter();
     $select = $this->getDbSql()->select(self::TABLE_NAME);
     if ($controller->getId()) {
         $select->where(['id' => $controller->getId()]);
     }
     if ($controller->getModuleId() && $controller->getName()) {
         $select->where(['moduleId' => $controller->getModuleId(), 'name' => $controller->getName()]);
     }
     $select->limit(1);
     $query = $this->getDbSql()->buildSqlString($select);
     $rows = $dbAdapter->query($query, $dbAdapter::QUERY_MODE_EXECUTE);
     if ($rows->count()) {
         $controller->exchangeArray((array) $rows->current());
         return $controller;
     }
     return null;
 }