覆盖模型的软删除表列

高迪芬

我正在使用laravel 5.4。

我有一个模型指向具有以下属性的数据库表。

id       integer
name     varchar
location varchar
deleted  boolean

这是一个旧表,由于它被许多代码缠绕在一起,因此我们无法更改此表。

我要做的是利用模型中的laravels软删除功能。我知道laravel希望列名是数据库表上的deleted_at数据类型date

我该如何覆盖它,以便Laravel查看列deleted并检查是否为boolean

我尝试查看模型继承的类,但无法找到定义该常量和函数的位置。我怀疑它可能在收藏中,但是没有运气。

理想情况下,我想简单地重新定义模型中的函数。

谢谢。

阿列克谢·梅曾宁(Alexey Mezenin)

查看Illuminate\Database\Eloquent\SoftDeletes特征和模型中的overriderunSoftDelete()getDeletedAtColumn方法。

runSoftDelete()使用boolean的,而不是时间戳和getDeletedAtColumn()使用DELETED,而不是DELETED_AT

另一种解决方案是添加全局范围局部范围以使用软删除的数据。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章