加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

cakephp或条件

发布时间:2020-12-13 13:48:35 所属栏目:PHP教程 来源:网络整理
导读:原创 posted在cakephp问答,但我会把它放在这里希望得到一些答案. 我有一大堆公司的状态为0,但有时会获得更高的地位.现在我想使用高状态(如果存在),但如果没有,则恢复为0.我已经尝试了一大堆不同的方法,但是我总是只得到状态为0的状态,或者处于状态的对象,如
原创 posted在cakephp问答,但我会把它放在这里希望得到一些答案.

我有一大堆公司的状态为0,但有时会获得更高的地位.现在我想使用高状态(如果存在),但如果没有,则恢复为0.我已经尝试了一大堆不同的方法,但是我总是只得到状态为0的状态,或者处于状态的对象,如果存在,则不会给出状态,如果不存在则为0.

给我只有我指定的状态,不给我的状态0:

'Company' => array (
    'conditions' =>  array (
        'OR' => array(
            'Company.status' => 0,'Company.status' => $status,)

    )
)

给我只有0的状态:

'Company' => array (
    'conditions' =>  array (
        'OR' => array(
            'Company.status' => $status,'Company.status' => 0
        )
    )
)

代码中的状态定义和检索数据:

function getCountry($id = null,$status = null) {
    // Bunch of code for retrieving country with $id and all it's companies etc,all with status 0.
    $status_less_companies = $this->Country->find...

    if ($status) {
        $status_companies = $this->Country->find('first',array(
            'conditions' => array(
                'Country.id' => $id
            ),'contain' => array(
                'Product' => array (
                    'Company' => array (
                        'conditions' =>  array (
                            'OR' => array(
                                'Company.status' => $status,'Company.status' => 0
                            )
                        )
                    )
                )
            )
        )
    }

    // Mergin $status_less_companies and $status_companies and returning data to flex application.
}

我更改了这个问题的模型的名称,只是为了更有意义,当我告诉他们我的flex应用程序与cakephp一起工作时,人们总是吓倒了.我猜这个问题的逻辑是没有道理的,但相信我在我的应用程序中有意义.

谢谢!

我不知道你期望什么结果.如果要检索status = 0的所有记录,加上假设状态= 3,则可以使用“IN”而不是“OR”.

在蛋糕里,你可以这样写:

$status = 3;
$conditions = array('Company.status' => array(0,$status));

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读