如何正确处理laravel形式?
How to correctly handle laravel form?
我想正确处理用户存储表单。
我在考虑哪个花样最多correct/popular。它是存储库模式?服务模式?
另一个难点:
用户表单:姓名、电子邮件、邮政编码、城市、街道。我想以一种形式创建两个模型:用户和地址。我该如何解决?我想通了:
// UserController store(UserRequest $request)
$address = $addressRepo->create($request->validated());
$user = $userRepo->create($request->validated(), $address)
我想知道的问题:
- UserRequest 有与用户和地址关联的数据
我很困惑什么才是最正确的。
如果您的应用只是一个 CRUD,请不要为存储库模式等而烦恼。只需使用 MVC 模式。
如果你真的需要使用存储库模式,你也可以使用它,依赖注入。
您还可以创建一个 UserService,将 $request->validated()
数据发送到您的服务。
您应该将您的存储库注入该服务。您的服务应该保持您的逻辑,存储库应该进行存储更新等。
您的控制器:
UserService::createUser($request->validated());
您的服务:
...
$userRepository->createUser(...);
$addressRepository->createAddres(...);
我想正确处理用户存储表单。
我在考虑哪个花样最多correct/popular。它是存储库模式?服务模式?
另一个难点: 用户表单:姓名、电子邮件、邮政编码、城市、街道。我想以一种形式创建两个模型:用户和地址。我该如何解决?我想通了:
// UserController store(UserRequest $request)
$address = $addressRepo->create($request->validated());
$user = $userRepo->create($request->validated(), $address)
我想知道的问题:
- UserRequest 有与用户和地址关联的数据
我很困惑什么才是最正确的。
如果您的应用只是一个 CRUD,请不要为存储库模式等而烦恼。只需使用 MVC 模式。
如果你真的需要使用存储库模式,你也可以使用它,依赖注入。
您还可以创建一个 UserService,将 $request->validated()
数据发送到您的服务。
您应该将您的存储库注入该服务。您的服务应该保持您的逻辑,存储库应该进行存储更新等。
您的控制器:
UserService::createUser($request->validated());
您的服务:
...
$userRepository->createUser(...);
$addressRepository->createAddres(...);