[英]Use MySQL Case statement in Zend Framework 2
I need to use CASE in my Zend Db Statemets, which looks like following: 我需要在Zend Db Statemets中使用CASE,如下所示:
SELECT WHERE
CASE
WHEN classified_fields_values.field_id = array(5, 6, 7) THEN classified_fields_values.value >= $min_value
WHEN classified_fields_values.field_id = 1 THEN classified_fields_values.value = $other_value
END .
Tried with query() but Zend doesn't recognize it as a function. 尝试使用query(),但Zend无法将其识别为功能。
Below is Zend Statement, in $select
are all necessary configurations. 下面是Zend语句,在
$select
是所有必需的配置。 I know it doesn't work as it should, put there for example. 我知道它不能正常工作,例如放在那儿。
$select
->joinRight('...', null)
->joinLeft('...', null)
->where('classified_fields_values.field_id IN (?)', $_array)
->where('classified_fields_values.value >= ?', $min_value)
->where('classified_fields_values.field_id = 8')
->where('classified_fields_values.value = ?', $other_value)
Any ideas how to implement CASE in Zend Query or how to do such a query would be helpfull. 如何在Zend Query中实现CASE或如何进行这种查询的任何想法都会有所帮助。
Try: 尝试:
'final' => new Zend_Db_Expr("CASE classified_fields_values.alias WHEN classified_fields_values.field_id = array(5, 6, 7) THEN classified_fields_values.value >= $min_value")
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.