select('account.AccountID, account.AccountName, account.Parent, pa.AccountName as ParentName, account.Initial') ->join('account pa', 'pa.AccountID=account.Parent', 'left'); if (!empty($filter['Parent'])) { $builder->where('account.Parent', $filter['Parent']); } if (!empty($filter['AccountName'])) { $builder->like('account.AccountName', $filter['AccountName'], 'both'); } $rows = $builder->findAll(); return $rows; } public function getAccount($AccountID) { $rows = $this->select('account.*, pa.AccountName as ParentName, areageo.AreaName, areageo.AreaGeoID, city.AreaName as CityName, city.AreaGeoID as City, prov.AreaName as ProvName, prov.AreaGeoID as Prov, country.VValue as CountryName, country.VID as country') ->join('account pa', 'pa.AccountID=account.Parent', 'left') ->join('areageo', 'areageo.AreaCode=account.AreaCode', 'left') ->join('areageo city', 'city.AreaGeoID=account.City', 'left') ->join('areageo prov', 'prov.AreaGeoID=account.Province', 'left') ->join('valueset country', 'country.VID=account.Country', 'left') ->where('account.AccountID', $AccountID) ->findAll(); return $rows; } }