gpt4 book ai didi

php - cakephp 或条件

转载 作者:IT王子 更新时间:2023-10-29 00:06:33 28 4
gpt4 key购买 nike

最初 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 时,人们通常会被吓跑。我想这个问题的逻辑没有意义,但相信我,它在我的应用程序中是有意义的。

谢谢!

最佳答案

尝试

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

)
)

在食谱中它说如果 or 条件属于同一个字段,则将它们包装在数组中 http://book.cakephp.org/2.0/en/models/retrieving-your-data.html#complex-find-conditions

关于php - cakephp 或条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8485950/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com