【发布时间】:2014-08-15 22:40:57
【问题描述】:
我试图让 Laravel 以与处理“deleted_at”相同的方式处理新添加的名为“archived_at”的列。也就是说,当我运行查询时,我不希望它获取任何存档记录,除非我明确告诉它(即 Invoices::onlyArchived()->paginate())。换句话说,archived_at 行为应该模仿 Laravel 内置的软删除行为。
我看到 Laravel 的 Builder 和 Model 类中内置了软删除功能。到目前为止,这是我所拥有的:
- 扩展 Model 类并在 new 中添加 archived_at 功能 类。
- 更新app/config.php别名如下:
// 'Eloquent' => 'Illuminate\Database\Eloquent\Model', 'Eloquent' => 'CoreExtensions\Model',
我似乎无法弄清楚如何扩展 Builder 类并强制 Laravel 从扩展的 Builder 类中读取。如果我能做到这一点,我可能会弄清楚其余的。有什么建议么?提前致谢!
【问题讨论】: