Skip to content

Instantly share code, notes, and snippets.

@Om4ar
Created January 16, 2018 17:39
Show Gist options
  • Save Om4ar/ca79b20ac23092cbb1ab9b85b2934cc2 to your computer and use it in GitHub Desktop.
Save Om4ar/ca79b20ac23092cbb1ab9b85b2934cc2 to your computer and use it in GitHub Desktop.
advanced query with mongodb laravel jenssegers
$take = (integer)$request->query("take");
$skip = (integer)$request->query("skip");
$filters = $request->all();
$queryArray = [];
foreach ( $filters as $key => $value){
if(($key == "take") || ($key == "skip")){
continue;
}else if($key == "platform"){
array_push($queryArray, array($key,(integer)$value));
}else if($key == "device"){
array_push($queryArray, array('m.d','regex', "/".$value."/i"));
}else if($key == "badge"){
array_push($queryArray, array($key,(integer)$value));
}else if($key == "carrier"){
array_push($queryArray, array('m.c','regex', "/".$value."/i"));
}else {
array_push($queryArray, array($key, 'regex', "/" . $value . "/i"));
}
}
$devices = Device::where($queryArray)->
skip($skip)->take($take)->get();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment