【问题标题】:Laravel ControllersLaravel 控制器
【发布时间】:2019-02-08 01:59:43
【问题描述】:

我有一个用于创建司机和添加他的汽车的页面 - drivers/create。司机必须至少拥有一辆车。 所以我将所有存储驱动程序信息的逻辑都保存在 DriverController@store 中,但我还需要保存汽车信息。我觉得在 DriverController 中存储 Car 类的元素不是正确的方法。

在我的情况下,什么是正确(或更好)的方式?

【问题讨论】:

    标签: laravel controller


    【解决方案1】:

    您可以在 CarController 中创建一个公共静态存储方法,然后在 DriverController@store 中调用该方法。 或者在 CarModule 中创建汽车并在 DriverController@store 中调用它。

    【讨论】:

    • 所以我需要从另一个控制器调用一个控制器?这不是个坏主意吗?
    • 如果是这样我应该怎么做?
    【解决方案2】:

    如果您使用的是 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

    还有很多其他方法可以解决问题,使用存储库或服务层,但这些方法可能会让您陷入困境。

    【讨论】:

    • 这就是我开始的。我也尝试效仿这个例子,但我发现它与我所拥有的完全不同。创建了一个帖子,然后添加了 cmets,一切都很清楚,没有问题。但在我的情况下,司机和汽车是同时创建的,我必须验证一些司机的数据,即他至少有一辆汽车和一些汽车数据的事实。所以这就是我正在努力解决的问题
    • 我遇到过Service Layer,到目前为止我觉得它是我所需要的。因此,非常感谢使用适用于我的案例的服务的示例
    • Here's a long answer about the various strategies 并链接到 article on setting up all of them,包括一个服务(文章的一半)。不过是从 2014 年开始的。
    猜你喜欢
    • 1970-01-01
    • 2018-01-24
    • 2019-12-12
    • 2021-09-26
    • 2018-08-09
    • 2015-04-22
    • 2014-07-20
    • 2020-11-01
    • 2013-06-10
    相关资源
    最近更新 更多