【发布时间】:2017-04-05 12:37:39
【问题描述】:
假设数据库中有2个表:user,appUser(用户有一个appUser并且定义了关系)有用户ID,为了更新appUser数据我们可以使用以下代码(如果没有appUser相关模型):
$user = user::find($userID);
if(count($user->appUser) == 0){
$appUser = new appUser();
$appUser->column = $value;
$user->appUser->save();
} else {
$appUser = $user->appUser;
$appUser->column = $value;
}
$user->appUser()->save($appUser);
看起来不错,但是如果我有另一个联系人表(appUser 有一个联系人)怎么办,所以为了更新联系人,我们应该添加更多 if 和 else 以确保 appUser 和联系人关系存在。 我的问题是,在 laravel eloquent 中是否有任何简洁的方法来加载关系并在不存在时创建新的关系?
在这种情况下,它会是这样的:
$user = user::find($userID);
// No Exception!
$user->appUser->column = $value;
$user->appUser->save();
【问题讨论】:
标签: php laravel orm eloquent lumen