0

このクエリを検索で翻訳しようとしていますが、成功しません。私の検索では何も返されません。

私のSQL(postgresql内)

select * from projectversion where project='10003' releasedate>=now()::date or releasedate is null

私の発見

   $projectversions = $this->find('list', array(
            'recursive' => -1,
            'fields' => array('vname'),
            'conditions' => array('project' => $id_project,'releasedate >=now()::date','OR'=>array('releasedate is null'))));

誰でも私を助けることができますか?

4

1 に答える 1

1

元の SELECT は有効ではないようです:

select * from projectversion where project='10003' releasedate>=now()::date or releasedate is null

それは次のとおりです。

select * from projectversion where project='10003' AND (releasedate>=now()::date or releasedate is null)

その場合、条件は次のようになります。

'conditions'=>array(
    'Model.project'=>10003,
    OR=>array(
        'Model.releasedate >= NOW()'
        'Model.releasedate IS NULL'
    )
)

生成:

WHERE Model.project = 10003 AND (Model.releasedate >= NOW() OR Model.releasedate IS NULL)
于 2013-06-14T15:41:06.390 に答える