0

我正在尝试使用类型提示来存储值。

public function store(Model $model, ModelRequest $request) {
    $model->create($request->validated())->save();
    dd($model->id);
}

但是,Id 返回 null。

4

2 回答 2

1

正如@aimme 在评论中所说,您不需要 save() 方法。save() 方法返回truefalse

如果你真的需要看看发生了什么:

$new_created= $model->create($request->validated());
dd($new_created->id);

如果它不起作用,那么你必须检查 $request->validated() 的返回:

dd($request->validated());
于 2020-10-11T11:35:10.773 回答
0

您实际上不能为 store 方法使用隐式路由模型绑定,因为您无法通过 ID 访问模型,该 ID 尚不存在(因此没有 ID)。来自官方文档:

Laravel 将自动注入具有与请求 URI 中相应值匹配的 ID 的模型实例。

所以你必须手动创建模型,例如这样

 public function store(StoreUserRequest $request) {
    $user = User::create($request->all());
 }
于 2020-10-11T14:38:13.720 回答