0Pricing
PHP Academy · Урок

CRUD с Eloquent

Создавайте, читайте, изменяйте и удаляйте записи с помощью методов Eloquent

«CRUD с Eloquent» — бесплатный урок PHP Academy на CoddyKit. Это урок 2 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения PHP Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс PHP Academy содержит 4 уроков всего.

Создание — save()

Создайте экземпляр модели, задайте атрибуты и вызовите save().

<?php
$post = new Post();
$post->title = "Hello World";
$post->body  = "My first post";
$post->save(); // INSERT INTO posts ...

Создание — create()

Model::create() вставляет строку одной строкой кода с помощью массового присваивания. Для этого необходимо задать $fillable.

<?php
$post = Post::create([
    "title" => "Hello World",
    "body"  => "My first post",
    "user_id" => auth()->id(),
]);

firstOrCreate и updateOrCreate

firstOrCreate() находит подходящую запись или создаёт её. updateOrCreate() находит и обновляет запись либо создаёт её.

<?php
// Find or create:
$tag = Tag::firstOrCreate(["name" => "PHP"]);

// Update or create:
$setting = Setting::updateOrCreate(
    ["key" => "theme"],
    ["value" => "dark"]
);

Чтение — all()

Получите все строки в виде коллекции Eloquent.

<?php
$posts = Post::all(); // SELECT * FROM posts
foreach ($posts as $post) {
    echo $post->title;
}

Чтение — find()

Найдите запись по первичному ключу. Если запись не найдена, возвращается null. Метод findOrFail() вызывает исключение 404, если запись не найдена.

<?php
$post = Post::find(1);
$post = Post::findOrFail(1); // throws ModelNotFoundException if missing

Чтение — where()

Фильтруйте записи с помощью условий where(). Объединяйте несколько условий в цепочку.

<?php
$published = Post::where("is_published", true)
                 ->where("user_id", $userId)
                 ->orderBy("created_at", "desc")
                 ->get();

Обновление — save()

Измените атрибуты существующей модели и вызовите save() — будет создан запрос UPDATE.

<?php
$post = Post::findOrFail(1);
$post->title = "Updated Title";
$post->save(); // UPDATE posts SET title=... WHERE id=1

Обновление — update()

Массово обновите несколько записей, соответствующих запросу, одним вызовом SQL.

<?php
Post::where("user_id", $userId)
    ->update(["is_published" => false]);

Удаление — delete()

Удалите полученный экземпляр модели.

<?php
$post = Post::findOrFail(1);
$post->delete(); // DELETE FROM posts WHERE id=1

Удаление — destroy()

Post::destroy($id) удаляет запись по первичному ключу, не получая модель заранее.

<?php
Post::destroy(1);
Post::destroy([1, 2, 3]); // delete multiple

Разбиение на страницы

Используйте paginate(), чтобы вернуть объект постраничной навигации с автоматическими LIMIT/OFFSET.

<?php
$posts = Post::latest()->paginate(15);
// In Blade: {{ $posts->links() }}

Итоги

Eloquent предоставляет create() / save() для вставки, find() / where() для чтения, save() / update() для обновления и delete() / destroy() для удаления.

Быстрая проверка

Какой метод вызывает исключение, если запись не найдена?

Часто задаваемые вопросы

Урок «CRUD с Eloquent» бесплатный?

Да — полный текст урока «CRUD с Eloquent» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс PHP Academy, подпишись на CoddyKit PRO. Курс PHP Academy содержит 4 уроков всего.

Чему я научусь в уроке «CRUD с Eloquent»?

Создавайте, читайте, изменяйте и удаляйте записи с помощью методов Eloquent Ты практикуешь PHP Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать PHP Academy?

Предыдущий опыт не требуется. PHP Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 4.

Сколько времени занимает урок «CRUD с Eloquent»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке PHP Academy?

Да. Каждый урок PHP Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Модели и миграции Eloquent
  2. CRUD с Eloquent
  3. Связи Eloquent
  4. Предварительная загрузка и области запросов
← Назад к PHP Academy