【发布时间】:2018-03-19 13:42:39
【问题描述】:
我有一个模型测试如下
namespace App;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\SoftDeletes;
class Test extends Model
{
use SoftDeletes;
protected $dates = ['deleted_at'];
public function __construct() {
if (!\App::environment('production')) {
$this->table='test_stage';
}
}
我已确保我的 test_stage 表中有一个“deleted_at”列。但是软删除不起作用。使用 delete() 方法从表中永久删除记录。作为验证的附加步骤,我为某些列手动添加了“deleted_at”值。但是查询模型仍然给我软删除的记录。
此外,完全删除模型构造函数并简单地使用以下方法定义表名:
protected $table = 'test_stage';
像魅力一样工作!那是软删除神奇地重新开始工作。
或者有什么办法可以根据环境定义表名而不需要定义构造函数?
【问题讨论】: