📅  最后修改于: 2023-12-03 15:07:42.447000             🧑  作者: Mango
在 Laravel 中,Eloquent ORM
是一种流行的 PHP
库,用于与数据库进行交互。添加模式则可以让我们在向数据库添加新记录的时候,自动生成一些属性值,减少对数据的操作。本文将介绍如何在 Laravel 中启动添加模式。
添加模式(也称为插入模式)是一种对象关系映射(ORM)模式,它使开发人员能够为模型设置默认值或者自动赋值。例如,当你向数据库中插入用户时,你可以定义一个默认的创建日期,避免了手动赋值,同时也防止传入无效数据,让数据库维护正确并有效的数据。
在 Laravel 中启用添加模式,有多种方式。下面以一个示例进行介绍。
假设我们有一个 Book
模型:
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class Book extends Model
{
use HasFactory;
protected $fillable = [
'title', 'author_id', 'published_date', 'pages',
];
protected static function boot()
{
parent::boot();
static::creating(function ($book) {
$book->published_date = $book->published_date ?: now();
});
}
}
其中需要注意的是,我们在 boot
方法中注册了一个 creating
事件来自动赋值 published_date
属性。当我们通过 Book::create()
或 new Book()
创建新的 Book
对象时,将会自动赋值 published_date
属性。
其他更多的添加模式示例,请参考官方文档。
至此,我们已经介绍了在 Laravel 中启用添加模式的方法。这种模式可以减少对数据的操作,提高代码的可维护性。同时,我们也需要注意添加模式可能会对我们的代码造成不必要的复杂度,需要根据具体需求进行权衡,选择适合自己的处理方式。