section plantillas index gratis for descargar ciclo php mysql laravel laravel-4 query-builder

php - plantillas - Laravel donde en o donde en



laravel blade variables (5)

Podrías haber buscado solo la función whereIn en el núcleo para ver eso. Aquí estás. Esto debe responder a todas sus preguntas.

/** * Add a "where in" clause to the query. * * @param string $column * @param mixed $values * @param string $boolean * @param bool $not * @return /Illuminate/Database/Query/Builder|static */ public function whereIn($column, $values, $boolean = ''and'', $not = false) { $type = $not ? ''NotIn'' : ''In''; // If the value of the where in clause is actually a Closure, we will assume that // the developer is using a full sub-select for this "in" statement, and will // execute those Closures, then we can re-construct the entire sub-selects. if ($values instanceof Closure) { return $this->whereInSub($column, $values, $boolean, $not); } $this->wheres[] = compact(''type'', ''column'', ''values'', ''boolean''); $this->bindings = array_merge($this->bindings, $values); return $this; }

Mira que tiene un tercer parámetro booleano. Buena suerte.

Estoy haciendo una búsqueda de productos por filtros:

Mi código:

->where(function($query) use($filter) { if(!empty($filter)){ foreach ($filter as $key => $value) { $f = explode(",", $value); $query-> whereIn(''products.value'', $f); } } })

Consulta:

and (products.value in (Bomann, PHILIPS) and products.value in (red,white))

Pero yo necesito:

and (products.value in (Bomann, PHILIPS) OR products.value in (red,white))

¿Hay algo similar en Laravel:

orWhereIn


Por ejemplo, si tiene varias condiciones de WhereIn o de WhereIn y quiere poner corchetes, hágalo así:

$getrecord = DiamondMaster::where(''is_delete'',''0'')->where(''user_id'',Auth::user()->id); if(!empty($request->stone_id)) { $postdata = $request->stone_id; $certi_id =trim($postdata,","); $getrecord = $getrecord->whereIn(''id'',explode(",", $certi_id)) ->orWhereIn(''Certi_NO'',explode(",", $certi_id)); } $getrecord = $getrecord->get();


Sí, orWhereIn es un método que puede utilizar.

Estoy bastante seguro de que debería darle el resultado que está buscando, sin embargo, si no lo hace, simplemente podría usar implode para crear una cadena y luego explotarla (esto es una conjetura en la estructura de su matriz):

$values = implode('','', array_map(function($value) { return trim($value, '',''); }, $filters)); $query->whereIn(''products.value'', explode('','' $values));


Tienes una función orWhereIn en Laravel. Toma los mismos parámetros que la función whereIn .

No está en la documentación pero puede encontrarla en la API de laravel. http://laravel.com/api/4.1/

Eso debería darte esto:

$query-> orWhereIn(''products.value'', $f);


$query = DB::table(''dms_stakeholder_permissions''); $query->select(DB::raw(''group_concat(dms_stakeholder_permissions.fid) as fid''),''dms_stakeholder_permissions.rights''); $query->where(''dms_stakeholder_permissions.stakeholder_id'',''4''); $query->orWhere(function($subquery) use ($stakeholderId){ $subquery->where(''dms_stakeholder_permissions.stakeholder_id'',$stakeholderId); $subquery->whereIn(''dms_stakeholder_permissions.rights'',array(''1'',''2'',''3'')); }); $result = $query->get(); return $result;

// SALIDA @input $ stakeholderId = 1

// selecciona group_concat (dms_stakeholder_permissions.fid) como fid, dms_stakeholder_permissionss . rights de dms_stakeholder_permissions donde dms_stakeholder_permissions . stakeholder_id = 4 o ( dms_stakeholder_permissions . stakeholder_id = 1 y dms_stakeholder_permissions . rights en (1, 2, 3))