我們公司把每個(gè)查詢的方法封裝起來浅浮,如下是基本固定寫法:
public function getAll($ids, $select = 'SKU_ID,PROD_ID,SKU_SPEC_ID,SKU_SPEC_NAME,PROD_CODE,SKU_CODE,SKU_IMG_URL,STOCK_BALANCE,MARKET_PRICE,SALE_PRICE,SKU_TYPE,SKU_STATUS,SORT_RANK,CREATE_DATE,YW_P_P_D_IDS,SALED_AMOUNT', $isArray = true)
{
$result = array();
if ($isArray) {
$result = $this->find()->select($select)->where(['IN','SKU_ID',$ids])->andWhere(['SKU_STATUS'=>1])->asArray()->all();
} else {
//因?yàn)樵摼錄]有asArray(),所以查詢出來是對象
$result = $this->find()->select($select)->where(['IN','SKU_ID',$ids])->andWhere(['SKU_STATUS'=>1])->all();
}
return $result;
}
在此我想說的就是控制器類的查詢:
public function actionIndex()
{
$skuModel=new Sku;
$ids= array(136982,136686,136694,136695);
$id=136982;
$skus=$skuModel->getAll($ids);
//平時(shí)寫的查詢不加參數(shù)false照藻,所以都會(huì)走model的if凉唐,在確定是單條的時(shí)候應(yīng)該加上false,這樣縮短查詢時(shí)間
$skuInfo=$skuModel->getAll($id,'SKU_ID',false);
print_r($skus);
echo "<br/>";
print_r($skuInfo);
}
查詢oracle數(shù)據(jù)庫的日期
public function getScoreByUserId($id, $select =['U_SCORE_ID','USER_ID',"to_char(CREATE_DATE,'yyyy-mm-dd hh24:mi:ss') AS CREATE_DATE"], $isArray = true)