我想正确处理用户存储表单。
我认为哪种模式最正确/最流行。它是存储库模式吗?服务模式?
另一个难点: 用户表单:姓名、电子邮件、邮政编码、城市、街道。我想以一种形式创建两个模型:用户和地址。我该如何解决?我经历过:
// UserController store(UserRequest $request)
$address = $addressRepo->create($request->validated());
$user = $userRepo->create($request->validated(), $address)
我想知道的问题:
我很困惑什么是最正确的。
如果您的应用程序不会超过 CRUD,请不要为存储库模式等烦恼。只需使用 MVC 模式即可。
如果你确实需要使用存储库模式,你也可以使用它,依赖注入。
您还可以创建一个 UserService,将
$request->validated()
数据发送到您的服务。
您应该将您的存储库注入此服务。您的服务应该保存您的逻辑,存储库应该进行存储更新等。
您的控制器:
UserService::createUser($request->validated());
您的服务:
...
$userRepository->createUser(...);
$addressRepository->createAddres(...);