在yii中使用关系表达式findOne()

时间:2016-07-06 03:22:43

标签: php mysql yii2

在Yii2中,使用 findOne()来获取具有完全匹配的单个记录很简单。例如:

// find the first customer whose age is 30 and whose status is 1
$customer = Customer::findOne(['age' => 30, 'status' => 1]);

但是如果你想找到age 小于 30的那个怎么办?

2 个答案:

答案 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();