I am trying to response a json with the json array in Laravel5
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);
}
}
Its giving me this error
Call to undefined method Illuminate\Http\Response::json() in Laravel5
So how do we pass json in Laravel 5 ? , I Already know laravel returns automatically json array but I don't want to do that
Thanks
Try the helper function:
return response()->json(['data'=>$events]);
See the docs in \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);
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With