<分区>
Possible Duplicate:
Grouping WHERE clauses with Zend_Db_Table_Abstract
我需要创建这样的东西:
select name from table where active = 1 AND (name LIKE 'bla' OR description LIKE 'bla')
第一部分很简单:
$sqlcmd = $db->select()
->from("table", "name")
->where("active = ?", 1)
现在是棘手的部分。我怎样才能嵌套?我知道我可以写
->orWhere("name LIKE ? OR description LIKE ?", "bla")
但那是错误的,因为我需要动态更改所有部分。查询将在脚本运行时一直构建。有些部分被删除,有些被改变。在此示例中,我需要添加这些 OR-s,因为有时我需要进行更广泛的搜索。 “我的Zend Logic”告诉我正确的做法是这样的:
$sqlcmd = $db->select()
->from("table", "name")
->where("active = ?", 1)
->where(array(
$db->select->where("name LIKE ?", "bla"),
$db->select->orWhere("description LIKE ?", "bla")
))
但这不起作用(至少我不记得它起作用了)。
请。有人能帮我找到一种面向对象的方式来嵌套"where"-s