Laravel在保存时使用默认值填充列值

时间:2018-05-06 16:56:58

标签: php laravel eloquent

我想在保存数据到表格的同时用token表填充users表中的class Category(models.Model): name = models.CharField(max_length=264) def __str__(self): return self.name class Meta: verbose_name_plural = "categories" class Status(models.Model): name = models.CharField(max_length=264) def __str__(self): return self.name class Meta: verbose_name_plural = "status" class Product(models.Model): title = models.CharField(max_length=264) description = models.CharField(max_length=264) category = models.ForeignKey(Category, on_delete=models.CASCADE) price = models.DecimalField(max_digits=10) status = models.ForeignKey(Status, on_delete=models.CASCADE) 字段。

如何在查询构建器和eloquent中实现这两者。

1 个答案:

答案 0 :(得分:0)

您可以使用模型事件在此类模型类中添加boot method

public static function boot()
{
    parent::boot();
    static::created(function ($model) {
        $model->token = str_random(40);
    });
}

您也可以创建observer来执行相同操作,然后将protected $dispatchesEvents数组添加到模型中。