本文整理汇总了PHP中SC_Query::getSql方法的典型用法代码示例。如果您正苦于以下问题:PHP SC_Query::getSql方法的具体用法?PHP SC_Query::getSql怎么用?PHP SC_Query::getSql使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类SC_Query
的用法示例。
在下文中一共展示了SC_Query::getSql方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: findProductIdsOrder
/**
* SC_Queryインスタンスに設定された検索条件を元に並び替え済みの検索結果商品IDの配列を取得する。
*
* 検索条件は, SC_Query::setWhere() 関数で設定しておく必要があります.
*
* @param SC_Query $objQuery SC_Query インスタンス
* @param array $arrVal 検索パラメーターの配列
* @return array 商品IDの配列
*/
public function findProductIdsOrder(&$objQuery, $arrVal = array())
{
$table = 'dtb_products AS alldtl';
if (is_array($this->arrOrderData) and $objQuery->order == '') {
$o_col = $this->arrOrderData['col'];
$o_table = $this->arrOrderData['table'];
$o_order = $this->arrOrderData['order'];
$objQuery->setOrder("T2.{$o_col} {$o_order}");
$sub_sql = $objQuery->getSql($o_col, "{$o_table} AS T2", 'T2.product_id = alldtl.product_id');
$sub_sql = $objQuery->dbFactory->addLimitOffset($sub_sql, 1);
$objQuery->setOrder("({$sub_sql}) {$o_order}, product_id");
}
$arrReturn = $objQuery->getCol('alldtl.product_id', $table, '', $arrVal);
return $arrReturn;
}
示例2: findProductCount
/**
* SC_Queryインスタンスに設定された検索条件をもとに対象商品数を取得する.
*
* 検索条件は, SC_Query::setWhere() 関数で設定しておく必要があります.
*
* @param SC_Query $objQuery SC_Query インスタンス
* @param array $arrVal 検索パラメーターの配列
* @return array 対象商品ID数
*/
function findProductCount(&$objQuery, $arrVal = array())
{
$table = <<<__EOS__
dtb_products AS alldtl
JOIN dtb_product_categories AS T2
ON alldtl.product_id = T2.product_id
JOIN dtb_category
ON T2.category_id = dtb_category.category_id
__EOS__;
$objQuery->setGroupBy('alldtl.product_id');
$sql_base = $objQuery->getSql('alldtl.product_id', $table);
return $objQuery->getOne("SELECT count(*) FROM ( {$sql_base} ) as t", $arrVal);
}
示例3: getAll
/**
* 全件取得
*/
function getAll(SC_Query $objQuery = NULL)
{
if ($objQuery == null) {
$objQuery =& SC_Query_Ex::getSingletonInstance();
}
$this->setSelect($objQuery->getSql("*", $this->table));
if (strlen($this->order) == 0) {
if (GC_Utils_Ex::isFrontFunction()) {
$this->setOrder("device_name DESC");
} else {
$this->setOrder("device_id DESC");
}
}
return $objQuery->getAll($this->getSql(2), $this->arrWhereVal);
}