【发布时间】:2019-02-08 01:59:43
【问题描述】:
我有一个用于创建司机和添加他的汽车的页面 - drivers/create。司机必须至少拥有一辆车。
所以我将所有存储驱动程序信息的逻辑都保存在 DriverController@store 中,但我还需要保存汽车信息。我觉得在 DriverController 中存储 Car 类的元素不是正确的方法。
在我的情况下,什么是正确(或更好)的方式?
【问题讨论】:
标签: laravel controller
我有一个用于创建司机和添加他的汽车的页面 - drivers/create。司机必须至少拥有一辆车。
所以我将所有存储驱动程序信息的逻辑都保存在 DriverController@store 中,但我还需要保存汽车信息。我觉得在 DriverController 中存储 Car 类的元素不是正确的方法。
在我的情况下,什么是正确(或更好)的方式?
【问题讨论】:
标签: laravel controller
您可以在 CarController 中创建一个公共静态存储方法,然后在 DriverController@store 中调用该方法。 或者在 CarModule 中创建汽车并在 DriverController@store 中调用它。
【讨论】:
如果您使用的是 Eloquent ORM,Laracasts 有一个从头开始的 v5.4 免费视频系列。
其中两个视频向您展示了一种建立一对多关系的方法,但使用的是带有 cmets 的博客。您可以效仿他们的做法,但将博客替换为司机,将 cmets 替换为汽车。
Laravel 5.4 从零开始:雄辩的关系和评论
https://laracasts.com/series/laravel-from-scratch-2017/episodes/15
Laravel 5.4 从零开始:添加评论
https://laracasts.com/series/laravel-from-scratch-2017/episodes/16
还有很多其他方法可以解决问题,使用存储库或服务层,但这些方法可能会让您陷入困境。
【讨论】: