2 回答

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。

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();
- 2 回答
- 0 關(guān)注
- 207 瀏覽
添加回答
舉報(bào)