Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 01.09.2018 17:29:53

JSON без backslash

Здравствуйте.

Пишу API для доступа к БД.

В классе есть функция возвращающая массив с данными

class FlightService {
  public function getFlights() {
    return $this->filterFlights(Flight::all());
  }

  public function getFlight($flightNumber) {
    return $this->filterFlights(Flight::where('flightNumber', $flightNumber)->get());
  }

  protected function filterFlights($flights) {
      $data = [];

      foreach ($flights as $flight) {
        $entry = [
          'flightNumber' => $flight->flightNumber,
          'status' => $flight->status,
          'href' => route('flights.show', ['id' => $flight->flightNumber])
        ];

        $data[] = $entry;
      }
      return $data;
  }
}

В контроллере вызываю её для получения JSON

public function show($id)
    {
      $data = $this->flights->getFlight($id);

      return response()->json($data);
      // return response()->json($data, 200, [], JSON_UNESCAPED_UNICODE); // - Это не помогло.

    }

Но получаю HREF с обратными слешами. Как их убрать, подскажите пожалуйста.
{        "flightNumber": "meX60765",
        "status": "ontime",
        "href": "http:\/\/127.0.0.1:8000\/api\/v1\/flights\/meX60765"
}

Изменено ozolc (01.09.2018 17:40:46)

Не в сети

#2 01.09.2018 23:04:28

Re: JSON без backslash

Вероятно вместо JSON_UNESCAPED_UNICODE нужно поставить JSON_UNESCAPED_SLASHES.

Изменено FrDR (01.09.2018 23:47:32)

Не в сети

Подвал раздела