Я использую php slim3 fraemwork и eloquent orm в своем приложении. И я озадачен с погрузкой красноречивые отношений ..Как поддерживать отношения нагрузки сразу после создания в Eloquent
Я хотел бы, чтобы заполнить свой объект с отношениями по созданию
Скажем, у меня есть модели компании и пользователей Пользователь имеет company
метод и Компания имеет users
метод как Что ж. Оба метода описаны правильно
//User.php
company()
{
return $this->belongsTo('Company');
}
//Company.php
users()
{
return $this->hasMany('User');
}
чем-то я хочу, чтобы создать новую компанию с пользователями
function doSomething(array $data)
{
$company= new Company();
//fill it
//...
$users = [];
foreach ($data['user_emails'] as $email)
{
$users[] = new User(['email' => $email]);
}
$company->users()->saveMany($users);
$company->save();
return $company();
}
$company = doSomething(['emails'] => ['[email protected]', '[email protected]']);
//rely on build in to Model toString that uses json serialization
echo $company;
В этом примере компании и отношения будут сохранены - это работает Но в компании JSON будет компания только И я хотел бы видеть его с пользователями, а также
в случае у меня есть эта компания уже я могу использовать with
echo Company::query()->with('user')->get();
Но у меня есть все данные, в которых я нуждаюсь - нет необходимости повторно извлекать их из db. Есть ли способ вернуть компанию со связанными пользователями сразу после создания?