📜  在 laravel 中启动添加模式 - PHP (1)

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

在 Laravel 中启动添加模式 - PHP

在 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 中启用添加模式的方法。这种模式可以减少对数据的操作,提高代码的可维护性。同时,我们也需要注意添加模式可能会对我们的代码造成不必要的复杂度,需要根据具体需求进行权衡,选择适合自己的处理方式。