我宣布:
$query = Country::find();
有效:
$countries = $query->orderBy('name')
->offset($pagination->offset)
->limit($pagination->limit)
->all();
这不起作用:
$countries = $query->orderBy('name')
->all();
PHP警告 - yii \ base \ ErrorException htmlspecialchars()期望 参数1为字符串,给定数组
有效:
$countries = $query->where(['country.code' => 'AU'])->count();
这不起作用:
$countries = $query->where(['country.population' > 4444444])->all();
无效参数 - yii \ base \ InvalidParamException 运营商''需要两个操作数。
我读过https://github.com/yiisoft/yii2/blob/master/docs/guide/db-active-record.md,但我还不能完全理解这个想法
答案 0 :(得分:0)
首先'不工作'查询看起来不错,请在此错误中使用堆栈跟踪更新问题。
第二
$countries = $query->where(['country.population' > 4444444])->all();
您在此使用>
,将其更改为=>
,它会正常运行。如果你想检查这个字段是否多于/少于,你必须像3 params数组那样传递它:
$countries = $query->where(['>', 'country.population', 4444444])->all();