或者在 zend 框架中的哪里

OR WHERE in zend framework

如何在 Zend Framework 中编写这样的查询并获取所有行

SELECT * FROM tbl
WHERE user_id = $part_mail
OR user_id ='$id3';

我曾经尝试过这个:

    $select = $tigaseModel->fetchAll($tigaseModel
                                        ->select()
                                        ->where('user_id = ?', $part_mail )
                                        -> orwhere('user_id = ?', $id3 )); 

以下方法应该能帮到你。

解决方案 1

where( "user_id = '$part_mail' OR user_id = '$id3'" );

解决方案 2

$list = array( $part_mail, $id3 );
...
where( 'user_id in ( ? )', $list );

解决方案 3

$list = array( $part_mail, $id3 );
...
where( array( 'user_id' => $list ) );

参考文档:
Example #17 Example of an array parameter in the where() method
- 使用 SQL IN 运算符时,可以将数组作为第二个参数传递给 where() 方法。

orwhere 在 Zend Framework 1 中可用。但是您的代码中在 orwhere() 之前有一个 space。检查下面的代码:

$select = $tigaseModel->fetchAll($tigaseModel
                                    ->select()
                                    ->where('user_id = ?', $part_mail )
                                    ->orwhere('user_id = ?', $id3 ));