にオペレータ間のSQLを実装する方法を私の最後の5ヶ月で起こった総受注販売を算出し、次のクエリは、Zend_Dbの
> SELECT SUM(o.total), DATE(o.order_date) dateonly FROM `order` as o where (o.order_date BETWEEN last_day(NOW() - INTERVAL 5 MONTH) AND
> date_format(NOW(), '%Y-%m-%d') AND (o.order_status = "P" OR
> o.order_status = "T" OR o.order_status = "S" OR o.order_status = "D"
>)) GROUP BY month(o.order_date)
私はZendの中のクエリの上に実装しようとしていますがあります。しかし、私は真ん中にこだわった。 私はモデル/ DBTABLE、
class Default_Model_DbTable_Order extends Zend_Db_Table_Abstract
{
protected $_name = 'order';
protected $_primary = 'order_id';
public function month_based_orderlist()
{
$oDb = Zend_Registry::get("db");
$whereSQL = 'o.order_id > 0';
$whereSQL .= ' AND o.status = 1';
$whereSQL .= ' AND o.order_date BETWEEN last_day(NOW() - INTERVAL 5 MONTH) AND date_format(NOW(),'.%Y-%m-%d.')';
$whereSQL .= ' AND o.order_status = "P"';
$whereSQL .= ' OR o.order_status = "T"';
$whereSQL .= ' OR o.order_status = "S"';
$whereSQL .= ' OR o.order_status = "D"';
$select = $oDb->select()
->from(
array('o' => $this->_name),
array(
'lifetimesale' => new Zend_Db_Expr('SUM(o.total)'),
'dateonly' => DATE('o.order_date')
)
)->where($whereSQL);
//echo $select; exit;
$result = $this->getAdapter()->fetchAll($select);
// print_obj($result);
return $result;
}
}
?>
から取られたコードを持っている私は、私はこの上間違って行って何を、上記のようなSQLクエリを実装しようとしています。 親切にバグがここにある。この
より具体的にする必要があります。どうやって「つぶれた」のですか?あなたが受け取ったエラーを投稿できますか?また、この問題がzendを処理しなければならないと考えるなら、そのコードも投稿してください。 –
どうか問題を説明してください。 Zend_Dbを使用していますか? – Oleg
@Digital Precision今すぐ私の質問が更新されました。 – mymotherland