Ich frage mich, ob es möglich ist, eine Beziehung mit Laravels Route Modell Bindung zurückgeben?Laravel Route Modell Bindung mit Beziehung
Say ist ein Benutzermodell mit einer Beziehung "Freunde" zu anderen Benutzern haben, und ich möchte sowohl die Benutzerinformationen und die Beziehung von einer Route oder Controller zurückgeben.
zB für die Strecke domain.tld/user/123
Route::model('user', 'User');
Route::get('/user/{user}', function(User $user) {
return Response::json($user);
});
dies wird die Benutzer Informationen in Ordnung zurückkehrt mir, aber ich will auch die Beziehungen, ist es ein einfacher/richtiger Weg, dies zu tun?
Ich weiß, ich kann dies tun
Route::get('/user/{user}', function((User $user) {
return Response::json(User::find($user['id'])->with('friends')->get());
});
oder
Route::get('/user/{id}', function(($id) {
return Response::json(User::find($id)->with('friends')->get());
});
aber ich vermute, es kann eine bessere Art und Weise sein, Dank im Voraus
Keith
Dank dafür. Sie können 'load' auch ein wenig wie' mit' verwenden, zum Beispiel als Teil einer komplexeren Abfrage wie: 'return $ modules-> load (['questions', 'questions.results' => function ($ q) use ($ user) {return $ q-> wo ('user_id', $ user-> id);}]); ' – Djave
@Djave' load() 'dient zum Laden von Beziehungen _nach_ einer Abfrage wurde 'mit () 'dient zum Einfügen von Beziehungen als Teil einer Abfrage. –