laravel whereRaw 和 where(DB::raw(''))

laravel中的 DB::raw() 和DB::RAW()是同一种功能;用法如下

  $real = 66;
  
  $res = Data::where('id','152878863117610072368534')
  ->update([ 'time_len'=>DB::raw("time_len + ".$real), ]);

    $res = Data::where('id','152878863117610072368534') 
    ->update(['time_len'=>DB::raw("time_len + 6"), ]);

可以查出当年表中当前条件的字段的值 并可以在里面做加减乘除等运算

laravel whereRaw 和 where(DB::raw(''))

用 where(DB::raw(''))的时候,结尾会被增加一个莫名其妙的 is null()

用toSql()发现的,而使用whereRaw则不会

$student=DB::table("vipinfo")->whereRaw('vip_ID> ? and vip_fenshu >= ?',[2,300])->get();//多个条件  



使用laravel框架中的DB查询mysql数据库的时候,综合遇到执行mysql函数或者,自定义字段,一般情况下DB会把传入的函数当做字段处理

方法如下:

DB:raw('函数或者字段');

DB:whereRaw('函数或者字段');

DB:orderbyRaw('函数或者字段');

例子:DB::raw('rand()')、DB::raw('date()')


评论 (2)

  • Quereug Reply

    Oct 19 2022 09:38 am
  • Vonywaymn Reply

    Apr 19 2022 06:59 pm

发表评论