如何使用where() - andWhere()进行yii2查询?

时间:2016-02-14 11:12:31

标签: yii2 query-builder

我使用条件语句进行了一次查询。

$query = Student::find()
            ->where('status=1');

            if(isset($params['standard_id']) AND !empty($params['standard_id'])){
                $query->andWhere(["standard_id"=>$params['standard_id']]);
            }
            if(isset($params['section_id']) AND !empty($params['section_id'])){
                $query->andWhere(["section_id"=>$params['section_id']]);
            }
            if(isset($params['year']) AND !empty($params['year'])){
               $query->andWhere(["year"=>$params['year']]);
            }
            //$result = $query->all();

        return $query;

Mysql的

select *from student where satus=1 and standard_id=3 and section_id=1 and year=2015

如果可以在yii2中使用where - andWhere

请帮帮我

2 个答案:

答案 0 :(得分:3)

试试这个,不能清楚地理解你的问题。可能这会对你有帮助。

$model = User::find()
    ->where('satus> :satus', [':satus' => '1'])
    ->andWhere('standard_id= :standard_id', [':standard_id' => 3])
    ->andWhere('section_id= :section_id', [':section_id' => 1])
    ->andWhere('year= :year', [':year' => 2015])
    ->all();

答案 1 :(得分:2)

是的,您可以同时使用where()andWhere()。这应该可以帮助您了解它的工作原理。

Sample Data