在Yii2中,使用 findOne()来获取具有完全匹配的单个记录很简单。例如:
// find the first customer whose age is 30 and whose status is 1
$customer = Customer::findOne(['age' => 30, 'status' => 1]);
但是如果你想找到age
小于 30的那个怎么办?
答案 0 :(得分:2)
findOne
方法将自动调用one()方法并返回ActiveRecord实例。所以你可以使用以下内容:
$customer = Customer::find('age<:age AND status=:status',[':age' => 30, ':status' => 1])->one();
相当于findOne()
有关详细信息,请参阅此link
答案 1 :(得分:2)
findOne
不会直接处理此问题。
您可以按照以下方式执行此操作:
$customer = Customer::find()->andWhere(['>', 'age', 30])->andWhere(['status' => 1])->one();