laravel 错误 "strtolower() expects parameter 1 to be string"?
laravel error "strtolower() expects parameter 1 to be string"?
我正在将 json 传递给 laravel 路由,如下所示,我正在运行此查询 sql 视图。
{"columns":["fname","lname","mobile"], "offset":"1", "limit":"25",
"order":[["fname","asc"],["lname","asc"]],
"filter":[["gender","=","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]);
我正在将 json 传递给 laravel 路由,如下所示,我正在运行此查询 sql 视图。
{"columns":["fname","lname","mobile"], "offset":"1", "limit":"25", "order":[["fname","asc"],["lname","asc"]], "filter":[["gender","=","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]);