在AR(Active Record)中,可以使用andWhere
过滤器来正确过滤查询结果。下面是一个使用代码示例的解决方法:
假设有一个名为User
的模型,其中包含name
和age
两个字段。我们需要查询年龄大于等于18岁并且名字以字母"A"开头的用户。
use yii\db\ActiveRecord;
class User extends ActiveRecord
{
// ...
}
// 在控制器或其他位置创建查询
$query = User::find();
// 使用andWhere过滤器添加过滤条件
$query->andWhere(['>=', 'age', 18])
->andWhere(['LIKE', 'name', 'A%']);
// 执行查询
$users = $query->all();
在上面的示例中,首先我们通过User::find()
创建了一个查询对象$query
。然后,我们使用andWhere
过滤器添加了两个过滤条件。第一个条件是年龄大于等于18岁,使用了>=
操作符。第二个条件是名字以字母"A"开头,使用了LIKE
操作符和通配符%
。最后,我们通过$query->all()
执行查询并获取结果。
这样,我们就可以得到符合条件的用户列表$users
。
上一篇:AR中3D模型的大小问题