Mysql 使用Laravel';s Schema builder是否有一种按字段顺序查询的方法?
是否有一种按字段查询订单的方法?这就是我现在拥有的Mysql 使用Laravel';s Schema builder是否有一种按字段顺序查询的方法?,mysql,laravel,Mysql,Laravel,是否有一种按字段查询订单的方法?这就是我现在拥有的 $sets = DB::connection('mysql') ->table('sets') ->orderBy('type', 'asc') ->orderBy('releaseDate', 'asc') ->select('code', 'type', 'name') ->get(); 或
$sets = DB::connection('mysql')
->table('sets')
->orderBy('type', 'asc')
->orderBy('releaseDate', 'asc')
->select('code', 'type', 'name')
->get();
或者我必须直接编写MySQL吗?您可以使用插入ORDER BY FIELD子句:
$sets = DB::connection('mysql')
->table('sets')
->orderBy(DB::raw('FIELD(type, "Banana", "Apple", "Orange", "Peach", "Grape")'))
->select('code', 'type', 'name')
->get();
当然要小心SQL注入。。。要检查最终SQL是什么,可以在运行SQL后使用:
$query_log = DB::getQueryLog();
那应该行。。你看到错误了吗?我知道这是可行的。我需要现场订购。差不多吧。->orderByField(输入‘香蕉’、‘苹果’、‘橘子’、‘桃子’、‘葡萄’)啊,对不起!您可以使用
DB::raw()
将自定义sql插入查询中。。一秒钟后我会发布一个例子这是完美的。在这种情况下,我怎么能注意SQL注入呢?我只是指在使用DB::raw()
时的一般情况。。我不知道您将如何填充该子句,但是如果您接受来自用户的任何内容:当心!啊,好的,是的,在这种情况下,所有的服务器端。谢谢