Mi spiace per il titolo non esplicativo ma non sono riuscito a trovare uno descrittivo.Laravel: JSON e tabella pivot
ho i seguenti 3 tabelle: - Giochi - piattaforme - games_platforms
E io ho 2 Modelli in laravel sia per piattaforma e Game.
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');
}
Ora, questo funziona come un fascino, ottengo una stringa JSON con tutte le informazioni contenute nelle tabelle 3, come questo.
[{
"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"
}
}]
}]
Ora il mio problema è il seguente. Io non voglio mostrare tutta l'informazione 'perno', proprio il 'RELEASE_DATE', in questo modo:
"platforms": [{
"id": 4,
"name": "PC",
"release_date": "2016-03-03"
C'è un modo facile in laravel di fare una cosa simile? Per quanto posso vedere ora, guardando altri post, è necessario scrivere una funzione che trasformi il json in un array e io posso organizzarlo in quel momento. Oppure posso scrivere la mia query invece di lasciare che Laravel faccia tutto questo.
Spero che voi ragazzi potete aiutarmi con questo problema. Grazie!
So che Laravel supporta il caricamento impaziente fuori dalla scatola con sintassi molto comprensibile. Non l'ho mai usato su tabelle pivot, ma forse provarlo? Qualcuno lo ha fatto qui e la risposta sembrava aiutare: https://laracasts.com/discuss/channels/eloquent/eager-loading-pivot-tables Anche questa domanda precedente sembra avere una risposta molto decente: http: // StackOverflow. it/questions/21645257/generando-clean-formatted-json-with-laravel-pivot-tables? rq = 1 – Loek