Laravel 請求嵌套的父/子表單
P粉446800329
2023-08-08 18:04:08
<p>我正在使用laravel創建一個api。我已經創建了ProductRequest和ProductPriceRequest類別來進行請求驗證,它們按預期工作。 </p><p>一個Product可以有多個ProductPrice。 </p><p>現在,為了創建ProductPrice,我需要先創建一個Product,然後再創建與該Product相關聯的ProductPrice</p><p><br /></p> ;
<pre class="brush:php;toolbar:false;">//Create product
POST->http://127.0.0.1:8000/api/v1/products
{
"name":"product1"
}
//Create productprice associated with product
Post->http://127.0.0.1:8000/api/v1/products/69081258758830188/productprices
{
"name":"productprice1"
}</pre>
<p>但是我想在創建產品時啟用ProductPrice的創建</p>
<pre class="brush:php;toolbar:false;">//Create product productprice
POST->http://127.0.0.1:8000/api/v1/products
{
"name": "prod2",
"productPrices": [
{
"name": "pp1"
},
{
"name": "pp2"
}
]
}</pre>
<p>由於我已經擁有(並需要)一個ProductPriceRequest,如果請求中有一個ProductPrice,我如何在ProductRequest中使用ProductPriceRequest類別來驗證ProductPrice。 </p><p>我是laravel(我使用的是版本10)和php的新手,沒有找到任何關於這種情況的範例</p><p><br />< ;/p>
個人而言,在另一個ProductPriceRequest類別中,我不會嘗試重複使用相同的規則;而對於ProductRequest,我只會做一些類似的操作
或無論你的規則是什麼。
從技術上講,如果你確實想要使用相同的規則,你可以將這些重複的規則放在ProductPrice模型中,然後在兩個FormRequest檔案中使用它們,但我不確定是否還會有其他衝突,因為在這裡,資料是以數組的形式存在,而在另一種情況下(你沒有展示在其他地方你使用和需要ProductPriceRequest),可能會傳遞另一種用於驗證的結構