laravel之model

记录laravel 中model常用方法

 

 

1.keyBy()

 

 指定数据的某个字段作为该条数据的key

 

2.like操作

$model->where('goods', 'like', '%test%');

 

3.In

self::select(\DB::raw("id,count(*) as total"))->whereIn('id', [1,2,3])->get()->toArray();

 

 

4)where 和 orWhere

select `id` from `user` wehre (email='xxx@xx.com' and password='123456') or (mobile='123456898' and password='123456');

model:

User::select(['id'])
  ->where(function($query) use($username, $password) {
    $query->where('password','=', $password)->where('email', '=', $username);
  })
  ->orWhere(function($query) use($username, $password) {
    $query->where('passowrd','=', $password)->where('mobile','=', $username);
  })
  ->first();
select count(*) from suer where type=1 and valid_type=2 and(valid_en<3435454 or valid_begin > 434555);

model:

User::where('type', 1)->where('valid_type', '=', 2)->where(function($query){
  $query->where('valid_end', '<', 4344545)->orWhere(function($query){
    $query->where('valid_begin', '>', 14334353);
  });

});
select count(*) from 'user’where 'valid_type = 2 or ('valid_type’ = 3 and ('valid_end`< 156073857e or "valid_begin`>1560738570));

model:
User::where(function($query){
  $query->wehre('valid_type', 2);
})->orWhere(function($query){
  $query->where('valid_type','=', 3)->where(function($query){
    $query->where('valid_end', '<', 1243545)->orWhere(function($query){
      $query->where('valid_begin', '>', 1343454);
    });
  });
})
})->first();

原生写法:

$model->whereRaw('name like ? or code like ?', [$keyword, $keyword])

 

posted @ 2022-06-22 16:33  X-Wolf  阅读(375)  评论(0)    收藏  举报