2014-10-18 22 views
0

我能够使用laravel从数据库中提取数据并将其发送回kendo自动完成。使用Laravel为Kendo自动完成提取数据

我的问题是,我得到的错误:

遗漏的类型错误:未定义是不是一个函数

我有一种感觉,这是因为返回的数据是错误的格式,即:

{"16159":"United Kingdom of Great Britain and Northern Ireland"} 

当它应该是somethind像

[{"id": 16159, "name":"United Kingdom of Great Britain and Northern Ireland"}, *other counties...*] 

我Laravel代码:

public function getCities() { 
     $Cities = new Cities; 
     $cities = $Cities->where('accentName', 'LIKE', '%unite%')->orderBy('accentName', 'asc')->lists('accentName', 'id'); 
     return $cities; 
    } 

而我的JS是:

$('input#cityAuto').kendoAutoComplete({ 
    dataTextField: "name", 
    filter: "contains", 
    minLength: 3, 
    dataSource: { 
     type: "POST", 
     serverFiltering: true, 
     transport: { 
      read: "apply/getCities" 
     } 
    } 
}); 

我怎样才能Laravel到我想要的方式返回JSON字符串?

回答

0

你可能用Response::json()象下面这样:

public function getCities() { 
    $Cities = new Cities; 
    $cities = $Cities->where('accentName', 'LIKE', '%unite%')->orderBy('accentName', 'asc')->lists('accentName', 'id'); 

    // to return json 
    return Response::json($cities->toArray()); 

}