在 SQL 中,我可以選擇 id 可被 4 整除的記錄:SELECT?id?FROM?table_name?WHERE?id%4?=?0;我嘗試在 Yii2 活動(dòng)記錄中執(zhí)行此操作,但失敗并出現(xiàn)錯(cuò)誤:$model?=?Verses::find()->where(['%4','id',0])->orderBy('id')->all();有沒有關(guān)于此的任何方法或文檔提示?
3 回答

搖曳的薔薇
TA貢獻(xiàn)1793條經(jīng)驗(yàn) 獲得超6個(gè)贊
您也可以這樣做:
$model = Verses::find()->where(['(id % 4)' => 0])->orderBy('id')->all();
錯(cuò)誤顯示,Unknown column 'id%4'
為了將其表達(dá)為數(shù)學(xué)表達(dá)式,我們將其括在括號(hào)中并將其添加到查詢中。

蠱毒傳說
TA貢獻(xiàn)1895條經(jīng)驗(yàn) 獲得超3個(gè)贊
最安全的方法是使用Expression
:
$model?=?Verses::find()->where(new?Expression('id%4?=?0'))->orderBy('id')->all();
雖然添加括號(hào)->where(['(id % 4)' => 0])
可能有效,但這種行為在最新版本的 Yii 中幾乎被刪除了,所以我不會(huì)太依賴它。

守候你守候我
TA貢獻(xiàn)1802條經(jīng)驗(yàn) 獲得超10個(gè)贊
我通過嘗試和錯(cuò)誤找到了解決方案:
$model = Verses::find()->where(['%4=','id',0])->orderBy('id')->all();
換句話說,=
符號(hào)應(yīng)該連接到模運(yùn)算,即%4=
。
- 3 回答
- 0 關(guān)注
- 151 瀏覽
添加回答
舉報(bào)
0/150
提交
取消