Laravel5.2中Eloquent ORM的模糊搜索语法怎么写?

Laravel5.2中Eloquent ORM的模糊搜索语法怎么写?

阅读 10.6k
2 个回答

貌似,可以使用where语句。

$users = DB::table('users')->where('name', 'like', '%hello%')->get();

如果,你需要的是某一数据库特有的写法,或是不习惯Eloquent的方式,也可以使用原生SQL语句(不推荐,尤其是容易因为拼字符串而造成SQL注入漏洞)——使用DB::raw方法。

$users = DB::table('users')
                     ->select(DB::raw('count(*) as user_count, status'))
                     ->where('status', '<>', 1)
                     ->groupBy('status')
                     ->get();

我只是从文档中搬过来的。。。

给你推荐一个优雅的写法,和tp那种差不多的,请看这里
然后你就可以写 $map = ['aa' => ['LIKE' => '%XXX%' ];

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏