1
我在我的应用中使用了php slim3 fraemwork和雄辩的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();
但我alreay有我需要的所有数据 - 无需再次从数据库中获取它。 创建后有没有办法让相关用户返回公司?