Laravel 中的 ORM(Eloquent ORM)是 Laravel 框架内置的一种对象关系映射系统,用于在 PHP 应用中与数据库进行交互。Eloquent 提供了一种优雅而直观的语法,使得开发者可以使用面向对象的方式进行数据库查询和操作。
定义模型(Models)
在 Laravel 中,每个数据库表对应一个模型。模型是 Eloquent ORM 的核心,它与数据库表之间建立了映射关系。
// 例如,定义一个 User 模型
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class User extends Model
{
// 指定模型对应的数据表
protected $table = 'users';
}
查询数据
// 查询所有用户
$users = User::all();
// 查询单个用户
$user = User::find(1);
// 使用条件查询
$users = User::where('name', 'John')->get();
// 还可以链式调用多个查询条件
$users = User::where('name', 'John')->orWhere('name', 'Jane')->get();
插入和更新数据
// 插入一条数据
$user = new User;
$user->name = 'John';
$user->email = 'john@example.com';
$user->save();
// 更新数据
$user = User::find(1);
$user->name = 'New Name';
$user->save();
删除数据
// 删除一条数据
$user = User::find(1);
$user->delete();
// 删除满足条件的数据
User::where('name', 'John')->delete();
关联关系
// 定义一对多关系
class Post extends Model
{
public function user()
{
return $this->belongsTo(User::class);
}
}
// 使用关联
$post = Post::find(1);
$user = $post->user;
这只是 Laravel Eloquent ORM 的基本用法,该 ORM 还支持更多高级特性,如软删除、观察者模式、查询构造器等。通过 Eloquent,Laravel 简化了与数据库的交互,提高了开发效率。