如果我有一个PHPDoctrine对象作为SoftDelete,是否可以在某些查询的结果中包含已删除的项目?我正在寻找的是这样的东西......$q=Doctrine_Query::create()->select('*')->from('Testt')->where('idincludeDeleted()*;对于我希望排除已删除记录的大多数查询,这样的事情很有用,但有时(例如,对于管理员)我希望能够包含已被软删除的记录。有没有什么好的方法可以使用SoftDelete执行此操作,或者我应该简单地在大多数查询中添加一个额外的where子句? 最佳答案
我刚刚通过此迁移从表中删除了softDelete:Schema::table("items",function($table){$table->dropSoftDeletes();});但现在每个查询的结果都是:Columnnotfound:1054Unknowncolumn'items.deleted_at'in'whereclause'代码没有明确引用此列。它是否被缓存在某个地方,如果是,如何清除它? 最佳答案 您还需要从模型中删除特征:useSoftDeletes;来自thedocs:Toenablesoftdeletesfo
Softdelete行为在通过实体管理器执行删除语句时工作正常,如下代码:$entity=$this->em->getRepository('Users')->find(7);$this->em->remove($entity);$this->em->flush();但是当通过QueryBuilder执行相同的功能时,硬删除将在数据库上执行$qb=$this->em->createQueryBuilder();$qb->delete('Users','p');$qb->where($qb->expr()->eq('p.id',':id'));$qb->setParameters(arr
我正在迁移中将软删除列添加到我的表中:publicfunctionup(){Schema::table("users",function($table){$table->softDeletes();});}但是,如果我回滚迁移,如何在我的down()函数中删除这些?是否有内置方法可以执行此操作,还是我只是手动删除添加的列? 最佳答案 关于你的迁移类:publicfunctiondown(){Schema::table("users",function($table){$table->dropSoftDeletes();});}Ill
我正在迁移中将软删除列添加到我的表中:publicfunctionup(){Schema::table("users",function($table){$table->softDeletes();});}但是,如果我回滚迁移,如何在我的down()函数中删除这些?是否有内置方法可以执行此操作,还是我只是手动删除添加的列? 最佳答案 关于你的迁移类:publicfunctiondown(){Schema::table("users",function($table){$table->dropSoftDeletes();});}Ill
我的老板为软删除过滤器安装了这个包,但是documentation是稀疏的。如何在我的删除查询中使用它? 最佳答案 在你的配置中启用它:stof_doctrine_extensions:orm:default:...softdeleteable:truedoctrine:...orm:filters:softdeleteable:class:Gedmo\SoftDeleteable\Filter\SoftDeleteableFilterenabled:true然后在你的实体中:然后像往常一样删除实体(扩展会处理其余部分):$em=$