public function limitRoles()
{
return $this->hasMany(ProjectUserRole::class, "project_id")->take(3);
}
В обработчике:
Route::get("test", function () {
$result = \App\Models\Project::with("limitRoles")->get();
dump($result);
});
Запросы через DebugBar:
1. select * from `projects`
2. select * from `projects_users_roles` where `projects_users_roles`.`project_id` in ('2', '3', '4', '18', '21') limit 3
То же самое, что и при:
$result = \App\Models\Project::with(["roles" => function($query){
$query->take(3);
}])->get();
Я что-то не так делаю или пример с latestProducts формирует точно такой же запрос, что и изначальный (который ограничивает все записи, а не количество под каждую модель)?
Елизавета Озерова: Наверно. Значит, можете его использовать во всех своих хранилищах. Поэтому не нужно добавлять отдельно для каждого deployment-ключи. Только в этом случае ваш ключ, который даёт доступ ко всему аккаунту, будет на каждом хосте, где вы его используете.
Implicit controller routes using Route::controller have been deprecated. Please use explicit route registration in your routes file. This will likely be extracted into a package.
redakoc: То, что ты хочешь, работает через указанную команду. Куда ещё проще?
* работает на уровне оболочки командной строки, Git просто получает список файлов. Вероятно, что-то поменялось в консоли.