Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 使用Laravel';s Schema builder是否有一种按字段顺序查询的方法?_Mysql_Laravel - Fatal编程技术网

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()
时的一般情况。。我不知道您将如何填充该子句,但是如果您接受来自用户的任何内容:当心!啊,好的,是的,在这种情况下,所有的服务器端。谢谢