Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про Laravel: querybuilder, eloquent, orm

Как работает доступ к БД в Laravel: Query Builder vs Eloquent — чем отличаются? Где запросы более гибкие?

Этот вопрос проверяет понимание способов работы с базой данных в Laravel и умение выбирать подходящий инструмент под задачу.

Короткий ответ

В Laravel есть два основных способа работы с БД: Query Builder и Eloquent. Query Builder работает ближе к SQL и позволяет гибко строить сложные запросы. Eloquent — это ORM, которая работает с моделями и отношениями между ними. Для сложных вложенных запросов и оптимизаций Query Builder обычно удобнее, а для бизнес-логики — Eloquent.

Длинный ответ

Laravel предоставляет разные уровни абстракции для работы с базой данных.

Определение

Определение: Query Builder — это API для программного построения SQL-запросов, а Eloquent — ORM, представляющая таблицы в виде PHP-классов.

Query Builder

Query Builder ближе к SQL и подходит для сложных и оптимизированных запросов.

Пример:

$users = \DB::table('users')
    ->where('active', true)
    ->whereIn('id', function ($q) {
        $q->select('user_id')->from('orders');
    })
    ->get();

Особенности:

  • высокая гибкость

  • удобно писать вложенные запросы

  • меньше “магии”

Eloquent

Eloquent работает через модели и связи между ними.

Пример:

$users = User::where('active', true)
    ->with('orders')
    ->get();

Особенности:

  • выразительный и читаемый код

  • работа с отношениями (hasOne, hasMany, belongsTo)

  • удобен для CRUD и бизнес-логики

Что выбрать

  • Eloquent — стандартный выбор для большинства задач

  • Query Builder — для сложных запросов, отчётов, оптимизаций

  • Часто оба подхода комбинируются в одном проекте

Краткий вывод

Eloquent удобен для повседневной работы с данными, а Query Builder стоит выбирать, когда важна гибкость SQL и контроль над запросами.

  • Аватар

    PHP Guru

    Mikhail Savin

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.

Уровень

  • Рейтинг:

    5

  • Сложность:

    6

Навыки

  • Laravel

    Laravel

Ключевые слова

#querybuilder

#eloquent

#orm

Подпишись на PHP Developer в телеграм

  • Аватар

    PHP Guru

    Mikhail Savin

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.