コード例 #1
0
 public function searchConfiguration()
 {
     $search = new Manager($this);
     $search->like('q', ['before' => true, 'after' => true, 'field' => [$this->aliasField('titulo'), $this->aliasField('descripcion')]])->compare('fecha_de', ['field' => $this->aliasField('fecha_ini'), 'filterEmpty' => true])->compare('fecha_a', ['operator' => '<=', 'field' => $this->aliasField('fecha_ini'), 'filterEmpty' => true])->value('trimestre', ['field' => $this->aliasField('trimestre'), 'filterEmpty' => true])->value('departamentos', ['field' => $this->aliasField('departamento_id'), 'filterEmpty' => true])->callback('cursos', ['callback' => function (Query $query, array $args) {
         return $query->distinct($this->aliasField('id'))->matching('Curso', function (Query $query) use($args) {
             return $query->where([$this->Curso->target()->aliasField('id') . ' IN' => $args['cursos']]);
         });
     }]);
     return $search;
 }
コード例 #2
0
 private function searchConfigurationDynamic()
 {
     $search = new Manager($this);
     $c = $this->schema()->columns();
     foreach ($c as $key => $value) {
         $t = $this->schema()->columnType($value);
         if ($t != 'string' and $t != 'text') {
             $search->value($value, ['field' => $this->aliasField($value)]);
         } else {
             $search->like($value, ['before' => true, 'after' => true, 'field' => $this->aliasField($value)]);
         }
     }
     return $search;
 }
コード例 #3
0
 private function searchConfigurationDynamic()
 {
     $search = new Manager($this);
     $c = $this->schema()->columns();
     foreach ($c as $key => $value) {
         $t = $this->schema()->columnType($value);
         if ($t != 'string' and $t != 'text') {
             $search->value($value, ['field' => $this->aliasField($value)]);
         } else {
             $search->like($value, ['before' => true, 'after' => true, 'field' => $this->aliasField($value)]);
         }
     }
     $search->callback('associacao', ['callback' => function ($query, $args, $manager) {
         return $query->join(['table' => 'pessoas_associacoes', 'alias' => 'PessoasAssociacoesPesquisa', 'type' => 'INNER', 'conditions' => ['PessoasAssociacoesPesquisa.pessoa_id = Pessoas.id', 'PessoasAssociacoesPesquisa.tipo_associacao' => $args['associacao'], 'PessoasAssociacoesPesquisa.status !=' => 9]]);
     }]);
     return $search;
 }
コード例 #4
0
 private function searchConfigurationDynamic()
 {
     $search = new Manager($this);
     $c = $this->schema()->columns();
     foreach ($c as $key => $value) {
         $t = $this->schema()->columnType($value);
         if ($t != 'string' and $t != 'text') {
             $search->value($value, ['field' => $this->aliasField($value)]);
         } else {
             $search->like($value, ['before' => true, 'after' => true, 'field' => $this->aliasField($value)]);
         }
     }
     $search->callback('barra', ['callback' => function ($query, $args, $manager) {
         return $query->join(['table' => 'produtos', 'alias' => 'kprodutosbarra', 'type' => 'INNER', 'conditions' => 'kprodutosbarra.id = ProdutosKits.kit_id AND kprodutosbarra.barra RLIKE "' . $args['barra'] . '" AND kprodutosbarra.produto_kit = 1']);
     }]);
     $search->callback('nome', ['callback' => function ($query, $args, $manager) {
         return $query->join(['table' => 'produtos', 'alias' => 'kprodutosnome', 'type' => 'INNER', 'conditions' => 'kprodutosnome.id = ProdutosKits.kit_id AND kprodutosnome.nome RLIKE "' . $args['nome'] . '" AND kprodutosnome.produto_kit = 1']);
     }]);
     return $search;
 }
コード例 #5
0
ファイル: UploadsTable.php プロジェクト: nadymain/quebolu
 /**
  * searchConfiguration
  */
 public function searchConfiguration()
 {
     $search = new Manager($this);
     $search->like('image', ['before' => true, 'after' => true, 'field' => [$this->alias() . '.image']]);
     return $search;
 }
コード例 #6
0
ファイル: PostsTable.php プロジェクト: nadymain/quebolu
 /**
  * searchConfiguration
  */
 public function searchConfiguration()
 {
     $search = new Manager($this);
     $search->like('title', ['before' => true, 'after' => true, 'field' => [$this->alias() . '.title']])->value('publish', ['field' => $this->alias() . '.publish'])->value('category', ['field' => $this->alias() . '.category_id'])->value('user', ['field' => $this->alias() . '.user_id'])->like('search', ['before' => true, 'after' => true, 'field' => ['title', 'content']]);
     return $search;
 }
コード例 #7
0
ファイル: UsersTable.php プロジェクト: mohammadsaleh/spider
 public function searchConfiguration()
 {
     $search = new Manager($this);
     $search->value('username', ['field' => $this->aliasField('username')])->like('q', ['before' => true, 'after' => true, 'field' => [$this->aliasField('firstname'), $this->aliasField('lastname')]]);
     return $search;
 }
コード例 #8
0
 /**
  * Search Configuration used for FriendOfCake/search plugin
  * @see https://github.com/FriendsOfCake/search
  * @return Search object
  */
 public function searchConfiguration()
 {
     $search = new Manager($this);
     $search->like('uri', ['before' => true, 'after' => true, 'field' => [$this->aliasField('uri')]])->like('before-uri', ['before' => true, 'after' => false, 'field' => [$this->aliasField('uri')]])->like('after-uri', ['before' => false, 'after' => true, 'field' => [$this->aliasField('uri')]]);
     return $search;
 }
コード例 #9
0
ファイル: ArticlesTable.php プロジェクト: rifer/cake_blog
 public function searchConfiguration()
 {
     $search = new Manager($this);
     $search->value('author', ['label' => '', 'field' => $this->aliasField('author'), 'placeholder' => 'Search by Author'])->like('q', ['label' => '', 'placeholder' => 'Search by Content', 'before' => true, 'after' => true, 'field' => [$this->aliasField('title'), $this->aliasField('body')]]);
     return $search;
 }
コード例 #10
0
ファイル: PostsTable.php プロジェクト: vpolpeta/crud-demo-app
 /**
  * Construct search configuration
  *
  * @return Search\Manager
  */
 public function searchConfiguration()
 {
     $search = new Manager($this);
     $search->value('is_active')->like('name', ['before' => true, 'after' => true, 'field' => 'name'])->like('content', ['before' => true, 'after' => true, 'field' => ['name', 'body']])->finder('active', ['form' => false])->callback('id', ['callback' => [$this, 'onlyThisId']]);
     return $search;
 }
コード例 #11
0
ファイル: AcoesTable.php プロジェクト: ranzate/security
 public function searchConfiguration()
 {
     $search = new Manager($this);
     $search->value('id_modulo', ['field' => $this->aliasField('id_modulo'), 'filterEmpty' => true])->like('nome', ['before' => true, 'after' => true, 'field' => [$this->aliasField('nome')], 'filterEmpty' => true]);
     return $search;
 }