Laravel | Pobieranie wpisów z bazy danych za pomocą modelu.

Ten wpis zademonstruje w jaki sposób przy pomocy modelu pobrać dane z bazy danych.
Jednocześnie, materiał ten jest ściśle związany z wcześniejszymi wpisami dotyczącymi modeli.

  1. Migracje w Laravel
  2. Laravel | Tworzenie 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 🙂