2017-03-02 6 views
2

Ich benutze Twig-Ansicht für meine schlanke 3 Anwendung, aber ich weiß nicht, wie Seitenumbruch mit dem eloquenten ORM unten ist mein Code.Slim 3 Seitenumbruch mit Twig-Ansicht mit Eloquent ORM

MODELL:

namespace App\Models; 
use Illuminate\Database\Eloquent\Model; 

class Todo extends Model 
{ 
    protected $table = "todo"; 
    protected $fillable = [ 
     'todo_name', 
    ]; 
} 

und dies ist mein Code, um einen Blick

use App\Models\Todo; 
$app->get('/', function ($request, $response) { 
    $data = Todo::all()->paginate(5); 
    return $this->view->render($response, 'home.twig', [ 
     'title' => 'Home', 
     'todolist' => $data, 
    ]); 
})->setName('homepage'); 

und ich habe diesen Fehler

Method paginate does not exist. 

Antwort

1

Try $ data = Todo :: Paginieren zu machen (5);

0

Um die Paginierung zu verwenden, benötigen Sie illuminate/pagination Paket. Es ist nicht standardmäßig enthalten, wenn Sie illuminate/database einschließen. Sie können Komponisten, um es in Ihrem Projekt gehören:

composer require illuminate/pagination 

Und Sie sollten nicht Paginieren() -Methode nach einem Aufruf an alle() oder get() aufrufen. Versuchen Sie stattdessen:

$data=Todo::paginate(5); 

Und bitte beachten Sie, dass für die Paginierung richtig funktioniert, es sonst aktuelle Seitennummer wissen muss, wird es immer Ergebnisse für das erste Seite zurück. Sehen Sie sich bitte this answer an, um zu sehen, wie Sie den Seitenresolver einrichten.

+0

bereits heruntergeladen illuminate/pagination – zluj

+0

Mein schlechtes. Verpasste etwas Wichtiges in deiner Frage. Ich habe meine Antwort aktualisiert, aber es gibt bereits eine korrekte Antwort von @Lee – Nima