I ont 3 bases de données:Laravel 5.5 récupérer null par rapport imbriqué
Routes: id name
Tarifs:
Id
Route_id
Car_id
Voitures:
id
name
Mon modèle pour les routes
public function rates()
{
return $this->hasMany('App\Rate', 'route_id');
}
Mon modèle pour les taux
public function car() {
return $this->belongsTo('App\Car','car_id');
}
Maintenant, je dois accéder à la relation de voiture, mais quand je fais
return $this->route->with('from','to','rates.car')->paginate(74);
Je reçois nulle pour la relation de voiture
{"id":1,"from_id":1,"to_id":2,"distance":400,"created_at":null,"updated_at":null,"from":{"id":1,"name":"\u0410\u043a\u043a\u043e","created_at":null,"updated_at":null,"lat":32.93310000000000314912540488876402378082275390625,"long":35.0827000000000026602720026858150959014892578125},"to":{"id":2,"name":"\u0410\u0440\u0430\u0434","created_at":null,"updated_at":null,"lat":31.261399999999998300381776061840355396270751953125,"long":35.21490000000000009094947017729282379150390625},"rates":[{"id":1,"route_id":1,"car_id":1,"rate":1123,"night_rate":1391,"car":null},{"id":5551,"route_id":1,"car_id":2,"rate":1123,"night_rate":1391,"car":null},{"id":11101,"route_id":1,"car_id":3,"rate":1123,"night_rate":1391,"car":null},{"id":16651,"route_id":1,"car_id":4,"rate":1123,"night_rate":1391,"car":null},{"id":22201,"route_id":1,"car_id":5,"rate":1123,"night_rate":1391,"car":null},{"id":27751,"route_id":1,"car_id":6,"rate":1123,"night_rate":1391,"car":null},{"id":33301,"route_id":1,"car_id":7,"rate":1123,"night_rate":1391,"car":null},{"id":38851,"route_id":1,"car_id":8,"rate":1123,"night_rate":1391,"car":null}]},
$ this-> route est utilisé dans un contrôleur avec une fonction de construction. –
Et les tarifs ne sont pas utilisés comme un tableau croisé dynamique, il y a deux colonnes que j'ai oublié d'écrire rate et night_rate. Mais je veux y accéder imbriqué, donc je pourrais obtenir le nom de la voiture comme ceci dans la voiture: {id: 1, nom: 'économie'}. J'ai montré un exemple –
C'est un tableau croisé dynamique car il crée une relation entre deux autres tables. Ils peuvent contenir d'autres données. https://laravel.com/docs/5.5/eloquent-relationships. Recherchez 'Récupération des colonnes de table intermédiaires '. – hdifen