コード例 #1
0
ファイル: Text.php プロジェクト: argentum88/phad
 /**
  * @param BaseRepository $repository
  * @param mixed $column
  * @param Builder $query
  * @param string $search
  */
 public function apply($repository, $column, $query, $search)
 {
     $name = $column->name();
     if ($repository->hasColumn($name)) {
         $query->andWhere($query->getFrom() . ".{$name} LIKE '%{$search}%'");
     } else {
         $query->andWhere("{$name} LIKE '%{$search}%'");
     }
 }
コード例 #2
0
ファイル: NamedColumn.php プロジェクト: argentum88/phad
 /**
  * @param BaseRepository $repository
  * @param Builder $query
  * @param string $orderDirection
  */
 public function order($repository, $query, $orderDirection)
 {
     $name = $this->name();
     if ($repository->hasColumn($name)) {
         $query->orderBy($query->getFrom() . ".{$name} {$orderDirection}");
     } else {
         $query->orderBy("{$name} {$orderDirection}");
     }
 }
コード例 #3
0
ファイル: String.php プロジェクト: argentum88/phad
 /**
  * @param BaseRepository $repository
  * @param Builder $query
  * @param string $search
  */
 public function search($repository, $query, $search)
 {
     $name = $this->name();
     if ($repository->hasColumn($name)) {
         $query->orWhere($query->getFrom() . ".{$name} LIKE '%{$search}%'");
     } else {
         $query->orWhere("{$name} LIKE '%{$search}%'");
     }
 }
コード例 #4
0
ファイル: FormDefault.php プロジェクト: argentum88/phad
 /**
  * Set currently loaded model id
  * @param int $id
  */
 public function setId($id)
 {
     if (is_null($this->id)) {
         $this->id = $id;
         $this->instance($this->repository->find($id));
     }
 }
コード例 #5
0
 /**
  * Render async request
  * @return array
  */
 public function renderAsync()
 {
     $query = $this->repository->query();
     $totalCount = count($query->getQuery()->execute());
     $this->applySearch($query);
     $this->applyColumnSearch($query);
     $this->modifyQuery($query);
     $filteredCount = count($query->getQuery()->execute());
     $this->applyOrders($query);
     $this->applyOffset($query);
     $collection = $query->getQuery()->execute();
     return $this->prepareDatatablesStructure($collection, $totalCount, $filteredCount);
 }