это мой первый пост. У меня проблема с моим приложением Laravel.
Мне нужно изменить сериализацию данных для моей конечной точки, чтобы получить данные конкретного велосипеда.
Конечная точка возвращает это:
{"bike":{"id":32,
"unlock_code":2342,
"rack": {"id":3,
"available_stands":10,
"latitude":"46.754",
"longitude":"8.5732",
"available_bikes":10
},
"bike_state":{"description":"Available"}
}
}
но я хочу иметь это:
{"bike":{"id":32,
"unlock_code":2342,
"rack":{"id":3,
"available_stands":10,
"latitude":"46.754",
"longitude":"8.5732",
"available_bikes":10
},
"bike_state":{"Available"}
}
}
имя поля («описание») должно быть скрыто. Впервые я использую Laravel, и я не знаю, возможно ли это сделать.
Это модель
class BikeState extends Model
{
protected $hidden = ['id'];
public function bikes()
{
return $this->hasMany('App\Bike');
}
}
это хранилище с методом извлечения данных:
class BikeRepository
{
public function findBikeById($id)
{
return Bike::with('rack','bikeState')->findOrFail($id);
}
}
а это контроллер
class BikeController extends Controller
{
private $bikeRepository;
public function __construct(BikeRepository $bikeRepository)
{
$this->bikeRepository = $bikeRepository;
}
public function getBike($id)
{
return response() ->json(['bike' => $this -> bikeRepository ->
findBikeByid($id)], 200);
}
}
Спасибо