📅  最后修改于: 2023-12-03 15:26:50.795000             🧑  作者: Mango
Laravel 是一款优秀的 PHP 框架,它提供了许多有用的功能,其中之一就是 Eloquent ORM(对象关系映射),它可以帮助我们更方便地与数据库进行交互。
在 Laravel 中,我们通常使用模型(Model)来代表数据库中的一个表。模型是一个 PHP 类,它继承自 Illuminate\Database\Eloquent\Model
类,通过模型,我们可以方便地进行数据库操作,如查询、新增、修改、删除等。
在本文中,我们将探讨如何在模型中使用 Laravel 表。
在 Laravel 中,我们可以使用 php artisan make:model
命令来生成模型,如下所示:
php artisan make:model User
上述命令会生成一个名为 User
的模型,它的默认表名为 users
,这是因为 Laravel 的命名规范要求模型名使用单数形式,而表名使用复数形式。
我们也可以通过 $table
属性来指定表名,如下所示:
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class User extends Model
{
protected $table = 'my_users';
}
在上述例子中,我们将表名设置为 my_users
。
一旦我们创建了模型并指定了表名,就可以开始在模型中进行数据操作了。以下是在模型中查询数据的示例:
// 获取所有用户
$users = User::all();
// 获取第一条用户记录
$user = User::first();
// 根据主键查找用户
$user = User::find(1);
// 根据条件查询用户
$users = User::where('age', '>', 18)->get();
在上述示例中,我们使用了常见的查询方法:all()
、first()
、find()
和 where()
。这些方法都返回了 Illuminate\Database\Eloquent\Collection
类型的对象,我们可以通过 foreach
循环来遍历结果集。
以下是在模型中新增数据的示例:
// 新增单条记录
$user = new User;
$user->name = 'John';
$user->email = 'john@example.com';
$user->password = bcrypt('password');
$user->save();
// 批量新增记录
$users = [
['name' => 'Tom', 'email' => 'tom@example.com', 'password' => bcrypt('password')],
['name' => 'Alice', 'email' => 'alice@example.com', 'password' => bcrypt('password')],
];
User::insert($users);
在上述示例中,我们使用了模型实例的 save()
方法和 insert()
方法来新增记录。注意,在使用 insert()
方法时,需要传入一个二维数组,其中每个数组元素都代表一条记录。
以下是在模型中修改数据的示例:
// 获取一条记录,并修改姓名和邮箱
$user = User::find(1);
$user->name = 'Mary';
$user->email = 'mary@example.com';
$user->save();
// 根据条件更新记录
User::where('age', '<', 18)->update(['status' => 0]);
在上述示例中,我们使用了模型实例的 save()
方法和 update()
方法来修改记录。注意,在使用 update()
方法时,需要传入一个关联数组,其中键代表要更新的字段,值代表要更新的值。
以下是在模型中删除数据的示例:
// 删除一条记录
$user = User::find(1);
$user->delete();
// 根据条件删除记录
User::where('age', '<', 18)->delete();
在上述示例中,我们使用了模型实例的 delete()
方法和 delete()
静态方法来删除记录。
在本文中,我们介绍了如何在模型中使用 Laravel 表。我们讨论了如何创建模型、查询数据、新增数据、修改数据和删除数据。希望这些内容对您有所帮助。