📜  Laravel 查询 where 和 - PHP (1)

📅  最后修改于: 2023-12-03 15:02:37.462000             🧑  作者: Mango

Laravel 查询 where 和 - PHP

在Laravel框架中,查询构造器是一个非常强大的工具,可以轻松地构建复杂的SQL查询语句,其中包括where条件语句。这篇文章将会介绍如何在Laravel中使用where条件,以及一些常见的用法。

基本语法

使用where条件是非常简单的。下面是一个基本的示例:

$users = DB::table('users')->where('name', 'John')->get();

在这个例子中,我们从用户表中查询所有名字为“John”的用户。使用where方法的第一个参数是要查询的字段名,第二个参数是字段所对应的值。也可以使用=符号简写这个查询:

$users = DB::table('users')->where('name', '=', 'John')->get();
多条件查询

在实际开发中,我们通常需要查询多个条件,这时我们可以使用多个where方法。例如:

$users = DB::table('users')
                ->where('name', 'John')
                ->where('age', '>', 18)
                ->get();

在这个示例中,我们查询了所有名字为“John”且年龄大于18岁的用户。

另外,Laravel还提供了orWhere方法,可以查询多个或条件。例如:

$users = DB::table('users')
                ->where('name', 'John')
                ->orWhere('name', 'Jane')
                ->get();

在这个例子中,我们查询了所有名字为“John”或“Jane”的用户。

原始表达式查询

有时候查询条件非常复杂,无法使用Laravel的查询构造器,这时可以使用原始表达式查询。例如:

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

在这个示例中,我们使用了whereRaw方法,并传入了一个原始的SQL查询语句。这里可以使用?占位符来传递参数,也可以使用命名占位符:

$users = DB::table('users')
                ->whereRaw('name = :name and age > :age', ['name' => 'John', 'age' => 18])
                ->get();
结束语

在Laravel中使用where条件是非常简单的,可以灵活地构建各种查询语句。在实际开发中,可以结合其他查询构造器方法,构建复杂的SQL查询,提高查询效率和开发效率。