«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Начало работы с Laravel: руководство для начинающих по конструктору запросов

Начало работы с Laravel: руководство для начинающих по конструктору запросов

Опубликовано 8 ноября 2024 г.
Просматривать:246

Getting Started with Laravel: A Beginner

Query Builder от Laravel предоставляет мощный и гибкий интерфейс для построения SQL-запросов на PHP. Он позволяет вам взаимодействовать с базой данных с помощью выразительного синтаксиса, подобного SQL, абстрагируя при этом большую часть сложностей.

Мы рассмотрим типичный вариант использования приложения Laravel с использованием Query Builder для различных задач, таких как выбор, вставка, обновление и удаление данных.


Шаг 1. Настройка проекта Laravel

Если у вас нет проекта Laravel, вы можете настроить его следующим образом:

composer create-project --prefer-dist laravel/laravel laravel-query-builder
cd laravel-query-builder
php artisan serve

Убедитесь, что вы настроили конфигурацию базы данных в файле .env:

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=your_database
DB_USERNAME=your_username
DB_PASSWORD=your_password

Запустите миграцию для создания таблиц по умолчанию:

php artisan migrate

Шаг 2. Используйте построитель запросов в контроллере

Давайте создадим контроллер, чтобы продемонстрировать использование Query Builder:

php artisan make:controller UserController

Отредактируйте UserController.php, добавив следующий код:

get();

        return response()->json($users);
    }

    // Insert a new user
    public function store(Request $request)
    {
        // Step 4: Insert a new user
        DB::table('users')->insert([
            'name' => $request->name,
            'email' => $request->email,
            'password' => bcrypt($request->password),
        ]);

        return response()->json(['message' => 'User created successfully!']);
    }

    // Update an existing user
    public function update(Request $request, $id)
    {
        // Step 5: Update user by ID
        DB::table('users')
            ->where('id', $id)
            ->update([
                'name' => $request->name,
                'email' => $request->email,
            ]);

        return response()->json(['message' => 'User updated successfully!']);
    }

    // Delete a user
    public function destroy($id)
    {
        // Step 6: Delete user by ID
        DB::table('users')->where('id', $id)->delete();

        return response()->json(['message' => 'User deleted successfully!']);
    }
}

Шаг 3: Получить данные

Используйте Построитель запросов, чтобы выбрать все строки из таблицы пользователей:

$users = DB::table('users')->get();
  • Описание:
    • Метод DB::table('users') нацелен на таблицу пользователей.
    • Метод get() извлекает все записи из этой таблицы.

Пример ответа:

[
    {
        "id": 1,
        "name": "John Doe",
        "email": "[email protected]"
    },
    {
        "id": 2,
        "name": "Jane Doe",
        "email": "[email protected]"
    }
]

Шаг 4: Вставьте данные

Вставьте нового пользователя с помощью конструктора запросов:

DB::table('users')->insert([
    'name' => 'Alice',
    'email' => '[email protected]',
    'password' => bcrypt('password123'),
]);
  • Описание:
    • Метод Insert() вставляет новую строку в таблицу пользователей.
    • Данные передаются в виде ассоциативного массива, ключи которого соответствуют именам столбцов.

Это добавляет нового пользователя в таблицу пользователей.


Шаг 5: Обновите данные

Чтобы обновить существующую запись, используйте update():

DB::table('users')
    ->where('id', 1)
    ->update([
        'name' => 'John Smith',
        'email' => '[email protected]'
    ]);
  • Описание:
    • Предложениеwhere() выбирает строку с идентификатором = 1.
    • Метод update() изменяет поля имени и адреса электронной почты для выбранной строки.

Это обновит пользователя с идентификатором 1 в таблице пользователей.


Шаг 6: Удалить данные

Чтобы удалить запись из базы данных, используйте delete():

DB::table('users')->where('id', 2)->delete();
  • Описание:
    • Предложениеwhere() определяет условие выбора пользователя с идентификатором 2.
    • Метод delete() удаляет соответствующую строку из таблицы.

Это приведет к удалению пользователя с идентификатором 2.


Шаг 7. Фильтрация с помощью Query Builder

Вы можете связать дополнительные методы для фильтрации данных или добавления условий в запрос.

Пример: получение пользователей с определенным условием

$users = DB::table('users')
    ->where('email', 'like', '%example.com%')
    ->orderBy('name', 'asc')
    ->get();
  • Описание:
    • Предложениеwhere() добавляет условие, извлекающее пользователей, чей адрес электронной почты содержит example.com.
    • Метод orderBy() сортирует пользователей по имени в порядке возрастания.

Шаг 8: Пагинация

С помощью конструктора запросов Laravel можно легко разбивать результаты на страницы.

$users = DB::table('users')->paginate(10);
  • Описание:
    • Метод paginate() разбивает результаты на страницы, отображая по 10 результатов на странице.

Шаг 9: Транзакции

Используйте транзакции базы данных, чтобы обеспечить успешное выполнение нескольких запросов. Если один запрос завершается неудачей, все изменения откатываются.

DB::transaction(function () {
    DB::table('users')->insert([
        'name' => 'John Doe',
        'email' => '[email protected]',
        'password' => bcrypt('password123')
    ]);

    DB::table('orders')->insert([
        'user_id' => 1,
        'order_total' => 500
    ]);
});
  • Описание:
    • Метод транзакции() гарантирует, что вставки в таблицу пользователей и заказов будут выполнены успешно. Если что-то потерпит неудачу, обе операции будут отменены.

Шаг 10: Необработанные запросы

Если вам нужно запустить необработанный SQL, построитель запросов Laravel позволяет это:

$users = DB::select('SELECT * FROM users WHERE id = ?', [1]);
  • Описание:
    • Метод select() можно использовать для выполнения необработанных SQL-запросов.
    • Он использует подготовленные операторы (?) для обеспечения безопасности, предотвращая SQL-инъекцию.

Заключение

Построитель запросов Laravel предлагает мощный и гибкий способ взаимодействия с вашей базой данных, абстрагируя большую часть сложностей SQL. Разбивая каждую часть — извлечение, вставку, обновление, удаление, фильтрацию и многое другое — вы можете легко и четко управлять взаимодействием с базой данных.

В этом примере представлено базовое руководство по Query Builder. По мере роста вашего приложения вы можете использовать более продвинутые функции, такие как соединения, подзапросы и быстрая загрузка с помощью Eloquent.

Заявление о выпуске Эта статья воспроизведена по адресу: https://dev.to/mdarifulhaque/getting-started-with-laravel-a-beginners-guide-to-query-builder-j0i?1 Если есть какие-либо нарушения, пожалуйста, свяжитесь с Study_golang@163 .com, чтобы удалить его
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3