Мне интересно, можно ли вернуть отношения с laravels. Перемещение модели маршрута?Laravel привязка модели маршрута с relaionship
Скажите, что у пользователя есть модель с дружескими отношениями с другими пользователями, и я хочу вернуть как информацию пользователя, так и отношения с маршрутом или контроллером.
например, для маршрута domain.tld/user/123
Route::model('user', 'User');
Route::get('/user/{user}', function(User $user) {
return Response::json($user);
});
это вернет мне информацию пользователя штраф, но я также хочу отношений, есть ли простой/правильный способ сделать это?
Я знаю, что могу это сделать
Route::get('/user/{user}', function((User $user) {
return Response::json(User::find($user['id'])->with('friends')->get());
});
или
Route::get('/user/{id}', function(($id) {
return Response::json(User::find($id)->with('friends')->get());
});
, но я подозреваю, что может быть лучше, спасибо заранее
Keith
Спасибо за это. Вы можете также использовать 'load' немного как' with', например, как часть более сложного запроса типа: 'return $ module-> load (['questions', 'questions.results' => function ($ q) use ($ user) {return $ q-> где ('user_id', $ user-> id);}]); ' – Djave
@Djave' load() 'для загрузки отношений _after_ запрос был выполнен с') 'для включения отношений как часть запроса. –