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) { $row = $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') ->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') ->where('account.AccountID', $AccountID) ->first(); if (!$row) return null; $row = ValueSet::transformLabels([$row], [ 'Country' => 'account_Country', ])[0]; return $row; } }