3.5.5.4.4 postConditions
El texto original ha cambiado despues que la traduccion. Por favor ayundanos a reslover este differencia. Puedes:
postConditions(array $datos, mixed $operadores, string $bool, boolean $exclusivo)
Usa este método para convertir un conjunto de datos de modelo recibidor mediante POST (de inputs compatibles con HtmlHelper) en un conjunto de condiciones de búsqueda para un modelo. Esta función ofrece un atajo rápido para la construcción de la lógica de búqueda. Por ejemplo, un usuario administrativo puede querer buscar pedidos para saber qué elementos necesitan ser enviados. Puedes utilizar los ayudantes FormHelper y HtmlHelper para crear un formulario rápido basado en el modelo Pedido. Entonces, una acción de un controlador puede usar los datos recibidos desde ese formulario para encauzar las condiciones de búsqueda:
function index() {
$condiciones = $this->postConditions($this->data);
$pedidos = $this->Pedido->find("all",compact('condiciones'));
$this->set('pedidos', $pedidos);
}
function index() {$condiciones = $this->postConditions($this->data);$pedidos = $this->Pedido->find("all",compact('condiciones'));$this->set('pedidos', $pedidos);}
Si $this->data[‘Pedido’][‘destino’] es igual a “Old Towne Bakery”, postConditions convierte esa condición en un array compatible para ser usado en un método Model->find(). En este caso, array(“pedido.destino” => “Old Towne Bakery”).
Si deseas usar un operador SQL distinto entre términos, proporciónalos usando el segundo parámetro.
/*
contenidos de $this->data
array(
'Pedido' => array(
'num_items' => '4',
'referrer' => 'Ye Olde'
)
)
*/
//Obtengamos los pedidos que tiene como mínimo 4 elementos y contienen ‘Ye Olde’
$condiciones=$this->postConditions(
$this->data,
array(
'num_items' => '>=',
'referrer' => 'LIKE'
)
$pedidos = $this->Pedido->find("all",compact('condiciones'));
/*contenidos de $this->dataarray('Pedido' => array('num_items' => '4','referrer' => 'Ye Olde'))*///Obtengamos los pedidos que tiene como mínimo 4 elementos y contienen ‘Ye Olde’$condiciones=$this->postConditions($this->data,array('num_items' => '>=','referrer' => 'LIKE')$pedidos = $this->Pedido->find("all",compact('condiciones'));
El tercer parámetro te permite decirle a CakePHP qué operador booleano SQL usar entre condiciones de búsqueda. Una cadena de carateres como ‘AND’, ‘OR’ y ‘XOR’ son valores válidos.
Finalmente, si el último parámetro se establece a true y el parámetro $operadores es un array, los campos no incluidos en $operadores no se incluirán en las condiciones devueltas.


























