Note that there are some explanatory texts on larger screens.

plurals
  1. POLaravel 4 - paginate with the filter Eloquent ORM
    primarykey
    data
    text
    <p>I want to filter my ORM request with 2 relations many-to-many : Regions and Jobs.</p> <p>I need paginate, but $final->paginate() is not possible, but i don't know, why.</p> <p>How ameliorated my code for to use ->paginate() and no Paginatore::make</p> <pre><code> /* sélectionne tout les candidats qui sont disponnibles, et qui ont une date inférieure * à celle configuré */ $contacts = Candidate::with('regions', 'jobs') -&gt;where('imavailable', '1') -&gt;where('dateDisponible', '&lt;=', $inputs['availableDate']) -&gt;get(); // ta requete pour avoir tes contacts, ou par exemple tu fais un tri normal sur tes regions. Il te reste à trier tes jobs. // ajoute un filtre, pour n'afficher que ceux qui reponde true aux 2 test dans les foreachs $final = $contacts-&gt;filter(function($contact) use($inputs) { // par défaut ils sont false $isJob = false; $isRegion = false; // test que le candidat à l'un des jobs recherché par l'entreprise foreach($contact-&gt;jobs as $job) { // si le job id du candidat est dans la liste, alors on retourne true if(in_array($job-&gt;id, $inputs['job'])) { $isJob = true; } } // test que le candidat accepte de travailler dans l'une des régions echerchées foreach($contact-&gt;regions as $region) { // si region id du candidat est dans la liste, alors on retourne true if(in_array($region-&gt;id, $inputs['region'])) { $isRegion = true; } } // si les 2 renvoie true, alors nous returnons le candidat à la vue if($isRegion &amp;&amp; $isJob){ return true; } else{ return false; } }); // converti le resultat en tableau pour l'importer dans le Paginator $finalArray = $final-&gt;toArray(); // calcule le nombre de candidat dans le tableau $finalCount = count($finalArray); // créer le pagniate manuellement, car on ne peux faire $final-&gt;paginate(20) $paginator = Paginator::make($finalArray, $finalCount, 2); // return la liste des candidats return $paginator; </code></pre> <p>Thanks.</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload