Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
Здравствуйте.
Пишу 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)
Не в сети
Вероятно вместо JSON_UNESCAPED_UNICODE нужно поставить JSON_UNESCAPED_SLASHES.
Изменено FrDR (01.09.2018 23:47:32)
Не в сети
Страницы 1