CRUD z Eloquent
Twórz, odczytuj, aktualizuj i usuwaj rekordy za pomocą metod Eloquent
CRUD z Eloquent to bezpłatna lekcja PHP Academy na CoddyKit. To lekcja 2 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej PHP Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs PHP Academy zawiera 4 lekcji w sumie.
Tworzenie — save()
Utwórz instancję modelu, ustaw atrybuty i wywołaj save().
<?php
$post = new Post();
$post->title = "Hello World";
$post->body = "My first post";
$post->save(); // INSERT INTO posts ...Tworzenie — create()
Model::create() dodaje wiersz w jednej linii za pomocą masowego przypisywania. Wymaga ustawienia $fillable.
<?php
$post = Post::create([
"title" => "Hello World",
"body" => "My first post",
"user_id" => auth()->id(),
]);firstOrCreate i updateOrCreate
firstOrCreate() wyszukuje pasujący rekord lub go tworzy. updateOrCreate() wyszukuje i aktualizuje rekord albo go tworzy.
<?php
// Find or create:
$tag = Tag::firstOrCreate(["name" => "PHP"]);
// Update or create:
$setting = Setting::updateOrCreate(
["key" => "theme"],
["value" => "dark"]
);Odczyt — all()
Pobierz wszystkie wiersze jako kolekcję Eloquent.
<?php
$posts = Post::all(); // SELECT * FROM posts
foreach ($posts as $post) {
echo $post->title;
}Odczyt — find()
Znajdź rekord na podstawie klucza głównego. Jeśli rekord nie zostanie znaleziony, metoda zwraca null. findOrFail() zgłasza wyjątek 404, jeśli rekordu nie znaleziono.
<?php
$post = Post::find(1);
$post = Post::findOrFail(1); // throws ModelNotFoundException if missingOdczyt — where()
Filtruj rekordy za pomocą klauzul where(). Łącz wiele warunków.
<?php
$published = Post::where("is_published", true)
->where("user_id", $userId)
->orderBy("created_at", "desc")
->get();Aktualizacja — save()
Zmodyfikuj atrybuty istniejącego modelu i wywołaj save() — zostanie wygenerowane zapytanie UPDATE.
<?php
$post = Post::findOrFail(1);
$post->title = "Updated Title";
$post->save(); // UPDATE posts SET title=... WHERE id=1Aktualizacja — update()
Zaktualizuj masowo wiele rekordów spełniających warunki zapytania za pomocą jednego wywołania SQL.
<?php
Post::where("user_id", $userId)
->update(["is_published" => false]);Usuwanie — delete()
Usuń pobraną instancję modelu.
<?php
$post = Post::findOrFail(1);
$post->delete(); // DELETE FROM posts WHERE id=1Usuwanie — destroy()
Post::destroy($id) usuwa rekord na podstawie klucza głównego bez wcześniejszego pobierania modelu.
<?php
Post::destroy(1);
Post::destroy([1, 2, 3]); // delete multipleStronicowanie
Użyj paginate(), aby zwrócić obiekt stronicowania z automatycznym zastosowaniem LIMIT/OFFSET.
<?php
$posts = Post::latest()->paginate(15);
// In Blade: {{ $posts->links() }}Podsumowanie
Eloquent udostępnia create() / save() do wstawiania, find() / where() do odczytu, save() / update() do aktualizacji oraz delete() / destroy() do usuwania.
Szybkie sprawdzenie
Która metoda zgłasza wyjątek, jeśli rekord nie zostanie znaleziony?
Często zadawane pytania
Czy lekcja „CRUD z Eloquent” jest bezpłatna?
Tak — pełny tekst „CRUD z Eloquent” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu PHP Academy, przejdź na CoddyKit PRO. Kurs PHP Academy zawiera 4 lekcji w sumie.
Co nauczysz się w „CRUD z Eloquent”?
Twórz, odczytuj, aktualizuj i usuwaj rekordy za pomocą metod Eloquent Ćwiczysz PHP Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć PHP Academy?
Nie wymagamy żadnego doświadczenia. PHP Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 2 z 4.
Ile czasu zajmuje lekcja „CRUD z Eloquent”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji PHP Academy?
Tak. Każda lekcja PHP Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.