laravel中常用的where条件格式

where+field字段

将要进行查询的字段和where进行连接进行查询, 如果涉及到多个字段的,为并列and的关系

    DB::table('student')->whereName('wang');
    DB::table('student')->whereName('wang')->whereAge(18);

以上的执行的sql语句为

    select * from student where name='wang'
    select * from student where name='wang' and age=18

特别注意:此种方法只适合sql查询中=这一个情况,至于>或者<或者like用下面的这种方法

where(field,param)

这一种是查询中最为普遍的一种,经常在多条件查询中使用,这种方案比较第一种更加灵活

    DB::table('student')->where('name','wang');
    DB::table('student')->where('name','wang')->where('age',18);
    DB::table('student')->where('name','wang')->where('age','>',18);
    DB::table('student')->where('name','like','%wang%')->where('age','>',18);

以上的执行的sql语句为

    select * from student where name='wang'
    select * from student where name='wang' and age=18
    select * from student where name='wang' and age>18
    select * from student where name like 'wang' and age>18

注意:此种方法最多,可以向where中添加执行的条件类型,如果不指定条件类型,就默认为sql语句中的=

where(array[])

此种方式在tp框架中较为常见,将where查询作为数据进行传入,同一个where中的数组条件中为and的关系

    $condition1=[
        'name'=>'wang',
        'age=>18
    ];
    DB::table('student')->where($condition);

    $condition2=[
        ['name','=''wang'],
        ['age','>'18]
    ];
    DB::table('student')->where($condition2);
;

以上的执行的sql语句为

   
    select * from student where name='wang' and age>18
    select * from student where name like 'wang' and age>18

注意:array()中的参数可以为两个或者三个,

  • 如果为两个参数,使用的格式为arry('field1'=>params,'field1'=>params))那么为=的关系
  • 如果为三个参数,就是使用array([],[],[]),这样的形式进行

你可能感兴趣的:(laravel中常用的where条件格式)