我试图用Laravel5中的json数组响应json
namespace App\Http\Controllers; use Illuminate\Routing\ResponseFactory; use Illuminate\Http\Request; use Illuminate\Http\Response; use App\Http\Requests; use App\Http\Controllers\Controller; use App\Event; class EventsapiController extends Controller { /** * Display a listing of the resource. * * @return \Illuminate\Http\Response */ public function index() { // $events = Event::All(); return Response::json([ 'data'=>$events ],200); } }
它给了我这个错误
Call to undefined method Illuminate\Http\Response::json() in Laravel5
那么我们如何在Laravel 5中传递json?,我已经知道laravel自动返回json数组,但我不想这样做
谢谢
您正在使用:
照亮\ HTTP \响应
而应该使用它:
\响应
类型:
use Response;
不要输入:
use Illuminate\Http\Response;
尝试辅助函数:
return response()->json(['data'=>$events]);
请参阅\ Illuminate\Routing\ResponseFactory中的文档:
/** * Return a new JSON response from the application. * * @param string|array $data * @param int $status * @param array $headers * @param int $options * @return \Illuminate\Http\JsonResponse */ public function json($data = [], $status = 200, array $headers = [], $options = 0) { if ($data instanceof Arrayable && ! $data instanceof JsonSerializable) { $data = $data->toArray(); } return new JsonResponse($data, $status, $headers, $options); }