Search\Manager::callback PHP Method

callback() public method

callback method
public callback ( string $name, array $config = [] )
$name string Name
$config array Config
    public function callback($name, array $config = [])
    {
        $this->add($name, 'Search.Callback', $config);
        return $this;
    }

Usage Example

 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;
 }
All Usage Examples Of Search\Manager::callback