Laravel - Paginer et get()
Avec le code ci-dessous, ce que je voulais, c'était paginer la requête que j'ai créé. Mais, lorsque j'essaie d'ajouter paginer après obtenir, il renvoie une erreur. Je voulais rester obtenir car je veux me limiter à des colonnes qui a été définie sur $champs.
Ce qui devrait être la meilleure idée pour paginer cette chose? ou ce n'est pas un bon substitut pour les obtenir et de limiter le nombre de colonnes?
Ce que j'ai essayé:
->get($this->fields)->paginate($this->limit)
Partie de mon contrôleur:
class PhonesController extends BaseController {
protected $limit = 5;
protected $fields = array('Phones.*','manufacturers.name as manufacturer');
/**
* Display a listing of the resource.
*
* @return Response
*/
public function index()
{
if (Request::query("str")) {
$phones = Phone::where("model", 'LIKE', '%'. Request::query('str') . '%')
->join('manufacturers', 'manufacturers_id', '=', 'manufacturers.id')
->get($this->fields);
} else {
$phones = Phone::join('manufacturers', 'manufacturers_id', '=', 'manufacturers.id')
->get($this->fields);
}
return View::make('phones.index')->with('phones', $phones);
}
}
OriginalL'auteur Bajongskie | 2013-10-27
Vous devez vous connecter pour publier un commentaire.
Si vous regardez la signature de la méthode vous verrez que paginer reçoit un deuxième argument, $colonnes. Donc votre solution serait d'utiliser
En outre, vous pouvez nettoyer votre contrôleur en changeant un peu les choses:
OriginalL'auteur William Cahill-Manley
OriginalL'auteur Marcelo Secaira