搜尋

首頁  >  問答  >  主體

Laravel 請求嵌套的父/子表單

<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>
P粉446800329P粉446800329543 天前568

全部回覆(1)我來回復

  • P粉129275658

    P粉1292756582023-08-09 11:40:37

    個人而言,在另一個ProductPriceRequest類別中,我不會嘗試重複使用相同的規則;而對於ProductRequest,我只會做一些類似的操作

    'prices.*.name' => ['required', 'min:3'],
    'prices.*.id' => ['numeric'],

    或無論你的規則是什麼。

    從技術上講,如果你確實想要使用相同的規則,你可以將這些重複的規則放在ProductPrice模型中,然後在兩個FormRequest檔案中使用它們,但我不確定是否還會有其他衝突,因為在這裡,資料是以數組的形式存在,而在另一種情況下(你沒有展示在其他地方你使用和需要ProductPriceRequest),可能會傳遞另一種用於驗證的結構

    回覆
    0
  • 取消回覆