php - 在 Yii 中隐藏软删除项目

标签 php yii soft-delete

我想知道的是: Yii有可能吗?在模型中添加某种属性,因此仅显示属性 isdeleted 设置为 0 的项目?

所以我正在寻找一种方法,Yii 会忽略这些项目的实例...... 像这样的东西:

public function rules()
{
    return array(
        ...
        array('isdeleted', 'shouldEqualTo=>0'),
        ...
    );
}

我认为搞乱 rules() 是一种方法,但它不起作用或者我做错了......

最佳答案

您应该为此使用scopes()。

public function scopes()
{
    return array('active' => array('condition' => 'isdeleted = 0'));
}

然后

$active = MyModel::model()->active()->findAll();

编辑:

如果您想将过滤器设为默认值,请执行 defaultScope()功能:

public function defaultScope()
{
    return array('condition' => 'isdeleted = 0');
}

关于php - 在 Yii 中隐藏软删除项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25261405/

相关文章:

java - 解析数据 org.json.JSONException 时出错,已经尝试其他帖子

php - 如何在wordpress的简码函数中包含一个文件

php - 正则表达式匹配电话号码中相同的重复数字

java - 子表的 hibernate 软删除

java - Hibernate:用继承覆盖sql-delete

php - 将值从 php 传递到 mysql,然后返回到 javascript

php - 在 YII 中使用 ffmpeg 从 mp4 视频中获取图像

php - 如何在 Yii 查询中直接使用 MySQL 代码

php - 使用 Yii 框架按年份进行比较

laravel - 为什么软删除实体会出现在查询结果中?