第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

使用 all() 的 Yii2 查詢返回的數(shù)據(jù)少于預(yù)期

使用 all() 的 Yii2 查詢返回的數(shù)據(jù)少于預(yù)期

PHP
桃花長(zhǎng)相依 2022-01-02 17:18:52
我想使用此查詢從數(shù)據(jù)庫中查找所有數(shù)據(jù): $dataSearch = House::find()   ->select(["number","DATE(reg_date) AS date","((value) > 100) AS result","info"])   ->join("INNER JOIN", Owner::tableName(), Owner::tableName().'.number_ow= '.House::tableName().'.number_ow')   ->andWhere([House::tableName().'.number_ow'=>$house->number_ow])   ->andFilterWhere([House::tableName().'.space'=>$space])   ->orderBy([House::tableName().'.reg_date'=>SORT_DESC,'info'=>SORT_ASC]);    $data = $dataSearch->asArray()->all();如果我執(zhí)行查詢all()只返回結(jié)果的一小部分,但如果我對(duì)數(shù)據(jù)庫執(zhí)行原始 SQL 查詢,我會(huì)得到所有結(jié)果。我不明白問題出在哪里。這是原始 SQL:SELECT `number`, DATE(reg_date) AS date, ((value) > 100) AS result, `info` FROM `ho_house` INNER JOIN `ho_owner` ON ho_owner.number_ow = oh_ho_house.number_ow WHERE (`ho_house`.`number_ow`=2100174106) AND (`ho_house`.`space`='m')ORDER BY `ho_house`.`reg_date` DESC, `info`
查看完整描述

2 回答

?
翻翻過去那場(chǎng)雪

TA貢獻(xiàn)2065條經(jīng)驗(yàn) 獲得超14個(gè)贊

這是因?yàn)锳ctiveQuery嘗試使用 JOIN 從查詢結(jié)果中刪除重復(fù)的模型(例如,如果房子有 2 個(gè)所有者,則結(jié)果集中的房子數(shù)據(jù)將重復(fù)兩次)。在你的情況下,如果你想從數(shù)據(jù)庫中獲取原始數(shù)據(jù),你應(yīng)該使用Query:


$dataSearch = (new Query())

   ->select(["number","DATE(reg_date) AS date","((value) > 100) AS result","info"])

   ->from(House::tableName())

   ->join("INNER JOIN", Owner::tableName(), Owner::tableName().'.number_ow= '.House::tableName().'.number_ow')

   ->andWhere([House::tableName().'.number_ow'=>$house->number_ow])

   ->andFilterWhere([House::tableName().'.space'=>$space])

   ->orderBy([House::tableName().'.reg_date'=>SORT_DESC,'info'=>SORT_ASC]);



$data = $dataSearch->all();

但是如果你真的需要ActiveQuery,你應(yīng)該配置$indexBy為每一行返回唯一的 ID。


查看完整回答
反對(duì) 回復(fù) 2022-01-02
?
紅顏莎娜

TA貢獻(xiàn)1842條經(jīng)驗(yàn) 獲得超13個(gè)贊

將 andWhere 替換為 Where 檢查此代碼


 $dataSearch = House::find()

   ->select(["number","DATE(reg_date) AS date","((value) > 100) AS result","info"])

   ->join("INNER JOIN", Owner::tableName(), Owner::tableName().'.number_ow= '.House::tableName().'.number_ow')

   ->where([House::tableName().'.number_ow'=>$house->number_ow])

   ->andFilterWhere([House::tableName().'.space'=>$space])

   ->orderBy([ClosedOperation::tableName().'.reg_date'=>SORT_DESC,'info'=>SORT_ASC]);



    $data = $dataSearch->asArray()->all();


查看完整回答
反對(duì) 回復(fù) 2022-01-02
  • 2 回答
  • 0 關(guān)注
  • 207 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)