Laravel fordert verschachtelte übergeordnete/untergeordnete Formulare an
P粉446800329
2023-08-08 18:04:08
<p>Ich verwende Laravel, um eine API zu erstellen. Ich habe die Klassen ProductRequest und ProductPriceRequest für die Anforderungsvalidierung erstellt und sie funktionieren wie erwartet. </p><p>Ein Produkt kann mehrere Produktpreise haben. </p><p>Um nun einen ProductPrice zu erstellen, muss ich zuerst ein Produkt und dann einen mit diesem Produkt verknüpften ProductPrice erstellen</p><p><br />< /p> ;
<pre class="brush:php;toolbar:false;">//Produkt erstellen
POST->http://127.0.0.1:8000/api/v1/products
{
„name“: „Produkt1“
}
//Produktpreis erstellen, der dem Produkt zugeordnet ist
Post->http://127.0.0.1:8000/api/v1/products/69081258758830188/productprices
{
„name“: „Produktpreis1“
}</pre>
<p>Aber ich möchte die Erstellung von ProductPrice aktivieren, wenn ich ein Produkt erstelle</p>
<pre class="brush:php;toolbar:false;">//Produkt+Produktpreis erstellen
POST->http://127.0.0.1:8000/api/v1/products
{
„name“: „prod2“,
„Produktpreise“: [
{
„Name“: „pp1“
},
{
„Name“: „pp2“
}
]
}</pre>
<p>Da ich bereits eine ProductPriceRequest habe (und benötige), wie kann ich die ProductPriceRequest-Klasse in der ProductRequest verwenden, um den ProductPrice zu validieren, wenn die Anfrage einen ProductPrice enthält? </p><p>Ich bin neu bei Laravel (ich verwende Version 10) und PHP und habe keine Beispiele zu dieser Situation gefunden</p><p><br />< ;/p>
个人而言,在另一个ProductPriceRequest类中,我不会尝试重用相同的规则;而对于ProductRequest,我只会做一些类似的操作
或者无论你的规则是什么。
从技术上讲,如果你确实想要使用相同的规则,你可以将这些重复的规则放在ProductPrice模型中,然后在两个FormRequest文件中使用它们,但我不确定是否还会有其他冲突,因为在这里,数据是以数组的形式存在,而在另一种情况下(你没有展示在其他地方你使用和需要ProductPriceRequest),可能会传递另一种用于验证的结构