Laravel 5 Eloquent:保存后不包含所有字段

时间:2015-11-28 11:16:25

标签: laravel laravel-5 eloquent

例如表/* Set the scale mode to scale to fit the window */ gameScene.scaleMode = .AspectFill 中有4个字段     users:
仅使用name | avatar | created_at | updated_at

保存用户模型时
name:

然后我得到了响应json:

public function reg(){
  $user = new User; 
  $user->name = 'aName';    
  $user->save();
  return response()->json($user);
}

没有提交头像,我希望回复中还包含头像,即使我没有为其设置值。

1 个答案:

答案 0 :(得分:4)

您有两个选择:

1)您需要再执行一次查询才能从数据库中获取完整记录

$user = new User; 
$user->name = 'aName';    
$user->save();
return response()->json(User::find($user->id));

2)您可以AppServiceProvider方法boot方法creating添加User

    User::creating(function ($user) {
        if ($user->avatar === null) {
            $user->avatar = null;
        }
    });

在这两个选项中,您最终应该获得avatar字段,但是您需要确定哪些更好 - 对数据库的额外查询或额外编码以使用默认值填充其他字段。

修改

当然是行

$user->avatar = null; 

你可以在这里设置任何其他值。例如

$user->avatar = 'default.jpg';