Laravel | Pobieranie wpisów z bazy danych za pomocą modelu.
Jednocześnie, materiał ten jest ściśle związany z wcześniejszymi wpisami dotyczącymi modeli.
Pamiętając, że mamy utworzony we wcześniejszym wpisie – model Post przechodzimy do opowiedniego kontrolera:
app/Http/Controllers/PostController.php
i podpinamy do niego model Post:
use App\Post;
Informujemy w ten sposób kontroler, że będziemy używać modelu Post. Następnie przechodzimy do wcześniej utworzonej metody index() i w niej zapisujemy
$posts = Post::all();
Wytłumaczmy sobie teraz ten zapis. Generalnie chodzi o to, że tworzymy zmienną post do której poprzez model Post odwołujemy się do metody ::all(), która jest zadeklarowana w klasie Model, o którą rozszerzamy Nasz model Post. 🙂 Trzeba to przeczytać dwadzieścia razy aby to zrozumieć 😉 albo inaczej. Gdy wrócimy do modelu Post (w pliku app/Post.php) możemy zaobserwować taką linię:
use Illuminate\Database\Eloquent\Model;
oznacza to, że Laravel ma default-owo/domyślnie/standardowo już utworzony model i w nim jest już zadeklarowana taka metoda jak ::all()
a my przez poprzez to że będziemy ją używać (use – ang. użyj), mamy dostęp do metod które wcześniej już zostały zadeklarowane w klasie Model.
Skoro mamy już taką metodę to po co ją wymyślać jeszcze raz dla modelu Post skoro możemy ją tak jakby zaimportować z klasy Model 🙂