/** * クエリを構築する. * * 検索条件のキーに応じた WHERE 句と, クエリパラメーターを構築する. * クエリパラメーターは, SC_FormParam の入力値から取得する. * * 構築内容は, 引数の $where 及び $arrValues にそれぞれ追加される. * * @param string $key 検索条件のキー * @param string $where 構築する WHERE 句 * @param array $arrValues 構築するクエリパラメーター * @param SC_FormParam $objFormParam SC_FormParam インスタンス * @return void */ public function buildQuery($key, &$where, &$arrValues, &$objFormParam) { switch ($key) { case "search_year": case "search_month": case "search_day": if ($key != "search_year") { break; } $y = $objFormParam->getValue('search_year'); $m = $objFormParam->getValue('search_month'); $d = $objFormParam->getValue('search_day'); $where .= ' AND create_date BETWEEN ? AND ? '; $arrValues[] = SC_Utils_Ex::sfGetTimestamp($y, $m, $d); $arrValues[] = SC_Utils_Ex::sfGetTimestamp($y, $m, $d, true); break; case 'search_order_id': $where .= ' AND order_id = ?'; $arrValues[] = sprintf('%d', $objFormParam->getValue($key)); break; case 'search_customer_id': $where .= ' AND customer_id = ?'; $arrValues[] = sprintf('%d', $objFormParam->getValue($key)); break; case 'search_product_id': $where .= ' AND EXISTS (SELECT 1 FROM dtb_order_detail od WHERE od.order_id = dtb_order.order_id AND od.product_id = ?)'; $arrValues[] = sprintf('%d', $objFormParam->getValue($key)); break; default: parent::buildQuery($key, $where, $arrValues, $objFormParam); break; } }
/** * Page のプロセス. * * @return void */ function process() { parent::process(); }
/** * デストラクタ. * * @return void */ function destroy() { parent::destroy(); }