我正在使用Cakephp V2.0并且正在使用庞大的应用程序。以下是我现在面临的问题。
问题: 选择查询是自动设置条件,如" TableName.deleted" != 1
实际上创建问题是什么,我想在此查询中添加我的自定义条件以获取所有软删除的记录,例如:" TableName.deleted" == 1 。
但是当我们使用private void processControlWord() {
if (inHeader) {
if (this.equals("ansi")) { // E.g., here
globalCharset = WINDOWS_1252;
} else if (this.equals("pca")) {
globalCharset = CP850;
} else if (this.equals("pc")) {
globalCharset = CP437;
} else if (this.equals("mac")) {
globalCharset = MAC_ROMAN;
}
}
}
函数时,它将在MySQL Query条件结束时附加默认条件,然后MySQL Query将如下所示:
$this->paginate()
因此,它只通过采用最后一个条件来检索记录集,并仅返回未删除的记录。
如何删除此默认CakePHP条件(" TableName.deleted"!= 1 )?
已编辑(已添加代码):
("TableName.deleted" == 1) AND "TableName.deleted" != 1 Order By xyz
任何人都可以让我知道我该怎么做才能解决这个问题。任何帮助将不胜感激!
提前致谢。
答案 0 :(得分:0)
感谢您的建议和意见。
其实我得到了相同的答案。我们为同一个
创建了行为<强> SoftDeletableBehavior.php 强>
我们在其中定义了附加条件的相关方法&#34; TableName.deleted&#34; != 1 。它也在模型中提到过,如下所示:
var $actsAs = array(
'SoftDeletable' => array(
'field' => 'deleted',
'find' => true
),
);
所以我做了一个非常小的改变,它正在发挥作用。
var $actsAs = array(
'SoftDeletable' => array(
'field' => 'deleted',
'find' => false
),
);