Laravel “拉威尔误差”;strtolower()要求参数1为字符串“;?

Laravel “拉威尔误差”;strtolower()要求参数1为字符串“;?,laravel,laravel-5.3,Laravel,Laravel 5.3,我将json传递给一个laravel路由,如下所示,并运行这个查询sql视图 {“列”:[“fname”、“lname”、“mobile”]、“offset”:“1”、“limit”:“25”, “订单”:[“fname”、“asc”]、[“lname”、“asc”], “过滤器”:[[“性别”、“=”、“M”]} 这是放置在控制器中的函数,它将调用路由 public function fetch_contacts(Request $request){ if($request->h

我将json传递给一个laravel路由,如下所示,并运行这个查询sql视图

{“列”:[“fname”、“lname”、“mobile”]、“offset”:“1”、“limit”:“25”, “订单”:[“fname”、“asc”]、[“lname”、“asc”], “过滤器”:[[“性别”、“=”、“M”]}

这是放置在控制器中的函数,它将调用路由

public function fetch_contacts(Request $request){
    if($request->header('content-type') == 'application/json' && !empty($request->header('Device')) && !empty($request->header('UID'))){
          $query = DB::connection('mysql_freesubs')->table("contact_view")
              ->select($request->columns);

              if(!empty($request->filter))
                $query = $query->where($request->filter);

              if(!empty($request->offset))
                $query = $query->offset($request->offset);

              if(!empty($request->limit))
                $query = $query->limit($request->limit);

              if(!empty($request->order))
                $query = $query->orderBy($request->order);

              $contacts = $query->get();
              return $contacts;
}

我哪里出错了?

您正在将多维数组传递给
orderBy
,请尝试以下操作:

$query = $query->orderBy($request->order[0][0], $request->order[0][1]);
$query = $query->orderBy($request->order[1][0], $request->order[1][1]);

我想是的,这个错误在别的地方。请检查引发异常的行中的文件名和行号好吗?错误在grammer.php中,它是框架的一部分。“Grammar.php第58行中的ErrorException:strtolower()期望参数1是字符串,数组给定”代码的哪一行触发它?我们可以这样做。其中([[“fname”、“=”、“sam”]、[“gender”、“=”、“M”]);你说得对。但是使用
orderBy()