Освоение необработанных SQL-запросов с помощью Laravel: подробное руководство по предложению «Где»

В Laravel предложение «where» является фундаментальной частью построения запросов к базе данных. Хотя Laravel предоставляет мощный конструктор запросов для создания SQL-запросов, существуют сценарии, в которых использование необработанных SQL-запросов с предложением «where» может быть полезным. В этой статье блога мы рассмотрим различные методы использования необработанных SQL-запросов с предложением “where” в Laravel, с примерами кода и разговорными пояснениями.

Метод 1: использование метода DB::select()
Один из самых простых способов выполнить необработанный запрос SQL с предложением «where» — использовать метод DB::select(). Этот метод позволяет вам напрямую написать SQL-запрос и привязать все необходимые параметры.

$results = DB::select('SELECT * FROM users WHERE age > ?', [18]);

Метод 2: использование методаwhereRaw()
Метод whereRaw()в построителе запросов Laravel позволяет включать необработанные выражения SQL в предложение «where».

$results = DB::table('users')
            ->whereRaw('age > ?', [18])
            ->get();

Метод 3: использование методаwhereRaw() с именованными привязками
Именованные привязки представляют собой более удобочитаемую альтернативу позиционным привязкам. Вы можете использовать именованные привязки с методом whereRaw().

$results = DB::table('users')
            ->whereRaw('age > :age', ['age' => 18])
            ->get();

Метод 4: использование расширенных предложений «где» с необработанным SQL
В некоторых случаях вам может потребоваться создать сложные предложения «где» с использованием необработанного SQL. Например, вы можете использовать логические операторы, такие как AND, ORи круглые скобки, для создания сложных условий.

$results = DB::table('users')
            ->whereRaw('age > :age AND (name LIKE :name1 OR name LIKE :name2)', [
                'age' => 18,
                'name1' => 'John%',
                'name2' => 'Jane%'
            ])
            ->get();

В этой статье мы рассмотрели несколько методов использования необработанных SQL-запросов с предложением «where» в Laravel. Мы рассмотрели метод DB::select(), методwhereRaw() и расширенные предложения «where» с помощью чистого SQL. Используя эти методы, вы можете эффективно использовать возможности необработанных SQL-запросов в своих приложениях Laravel. Понимание этих методов позволит вам писать более гибкие и эффективные запросы к базе данных.