Açıklayıcı olmayan başlık için özür dilerim ama açıklayıcı bir modelle gelemedim.Laravel: JSON ve pivot tablo
aşağıdaki 3 tablolar var: - oyunlar - platformlar - games_platforms
Ve Platformu ve Oyun ikisi için laravel 2 Modeller var.public function games()
{
return $this->belongsToMany('App\Game', 'games_platforms')->withPivot('release_date');
}
public function platforms()
{
return $this->belongsToMany('App\Platform', 'games_platforms')->withPivot('release_date');
}
Şimdi bu böyle, 3 tablolarda tüm bilgileri içeren bir JSON dizesi olsun, bir cazibe gibi çalışır.
[{
"id": 1,
"name": "Borderlands",
"short_description": "",
"created_at": null,
"updated_at": null,
"platforms": [{
"id": 4,
"name": "PC",
"pivot": {
"game_id": 1,
"platform_id": 4,
"release_date": "2016-03-03"
}
}]
}]
Artık benim sorunum şu şekildedir.
"platforms": [{
"id": 4,
"name": "PC",
"release_date": "2016-03-03"
böyle bir şey yapmak için laravel kolay bir yolu var mı: Böyle bütün 'Pivot' bilgisini, sadece 'RELEASE_DATE', göstermek istemiyor musunuz? Şu anda görebildiğim kadarıyla, diğer yazılara bakmak, jsonu bir diziye çeviren bir fonksiyon yazmak ve bunu ayarlayabilirim. Ya da Laravel'in hepsini yapmasına izin vermek yerine kendi sorgemi yazabilirim.
Bu konuda bana yardımcı olabileceğinizi umarız. Teşekkürler!
Biliyorum Laravel, çok anlaşılabilir sözdizimi ile kutunun dışında istekli yükleme destekler. Pivot masalarda hiç kullanmadım ama belki denemelisin? Birisi burada yaptı ve cevap yardımcı görünüyordu: https://laracasts.com/discuss/channels/eloquent/eager-loading-pivot-tables Ayrıca bu önceki soru çok iyi bir cevabı var gibi görünüyor: http: // stackoverflow. com/questions/21645257/generating-clean-formatted-json-with-laravel-pivot-tabloları? rq = 1 – Loek