代码之家  ›  专栏  ›  技术社区  ›  GatesPlan

如何在Laravel中生成没有url参数的相关对象?

  •  0
  • GatesPlan  · 技术社区  · 6 年前

    我有一些相关的模型 Textbook , Chapter 等等,很明显, 教科书 有许多 因此,两种模型都有其双向的雄辩关系方法。

    上周,我和 textbook/{textbook}/chapter/create . 在这段时间里,我只是走了一条没有 textbook 模型。在此之前,这种绑定会造成太长和太复杂。像… textbook/{textbook}/chapter/{chapter}/section/{section}/item/{item} …所以我就放弃了。

    在那之后,我尝试了深度二(?)风格…像… textbook/{textbook}/chapter/{chapter} , chapter/{chapter}/section/{section} ,…它在短时间内很好地工作,但在多对多关系中,揭示了一个问题,即当我需要时,我找不到合适的父模型。

    如果没有大量的URL参数链,如何找到合适的父模型?

    2 回复  |  直到 6 年前
        1
  •  2
  •   Mihir Bhende    6 年前

    我想说在路由中使用URL参数是一种方法。但你可以用其他方式来做:

    创建路由 /chapter/create 因为它是标准的资源积垢。

    并将教科书ID、节ID等作为隐藏参数传递给控制器。这使得URL在关系中的深度更清晰。

    加上 章/创 textbook/123/section/345/chapter/create

    因此,当您重定向到创建路由时,您当前正在URL中传递教科书ID和节ID等,而不是通过 ->with() 然后使用该数据设置隐藏输入的值。

        2
  •  0
  •   GatesPlan    6 年前

    我做了一些研究,问题解决得很简单。

    当我传递非URL参数时,我可以通过 Request 对象。不知怎么的,尽管这不是我第一次传递URL参数,但我不知道我可以使用 请求 为此…