首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Laravel全球软删除

Laravel全球软删除
EN

Stack Overflow用户
提问于 2015-01-27 09:03:19
回答 2查看 97关注 0票数 0

如何打开所有模型的softDelete,而不必在每个模型中指定以下内容:

代码语言:javascript
复制
use Illuminate\Database\Eloquent\SoftDeletingTrait;

class ListItem extends Eloquent
{
    use SoftDeletingTrait;

    protected $table = 'list_items';
    protected $dates = ['deleted_at'];

    public function product(){
        return $this->hasOne('Product');
    }
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-01-27 09:51:55

只需创建一个BaseModel类即可。让我们在多个模型之间共享各种功能和配置:

代码语言:javascript
复制
class BaseModel extends Eloquent {
    use SoftDeletingTrait;

    protected $dates = ['deleted_at'];
}

然后让你的模型扩展这个类

代码语言:javascript
复制
class ListItem extends BaseModel {
    public function product(){
        return $this->hasOne('Product');
    }
}

顺便说一下,list_items已经是传统的表名(snake_case和复数),所以您不必显式地指定它。

票数 0
EN

Stack Overflow用户

发布于 2015-01-27 09:08:13

如果我是你,我会使用基类。让你的所有模型扩展一个类,这个类反过来又扩展了雄辩。然后,您可以在基类中放置任何影响所有模型的内容。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28166615

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档