簡體   English   中英

Laravel使用輸入組填充表單

[英]Laravel populate form with input groups

我正在尋找將數據綁定到輸入組中的方式。 例如,我有這些輸入:

Form::text('purchaser[address]');
Form::text('seller[address]');

我想綁定來自變量-$ purchaser的數據,該變量具有字段“ address”,而$ seller也具有字段“ address”。 我知道可以使用laravel填寫表格

Form::model

但我找不到如何將其用於輸入組的示例。 甚至有這種可能性,還是我必須手動進行?

從文檔中,我認為您非常接近:

Form::model($purchaser);

然后,如果您想要一個帶有地址值的<input type="text"> ,則可以調用:

Form::text("address");

Laravel應該為您提供模型的價值。

請注意,這假設您已經為$purchaser定義了一個模型。 如果不是,請先執行此操作。

通常,我只是手動執行<input>元素,因為我感覺自己有更多的控制權。 在這種情況下:

<input type="text" name="address" value="{{ $purchaser->address }}" class="..."/>

而且我可以隨時進行編輯和修改,尤其是classvalue屬性。

希望有幫助!

編輯:我猜錯了。 您只想填寫address字段值,而不是address關系,而是填寫一組模型,對嗎?

因此,您可以輕松地做到這一點:

$purchaser = Purchaser::with('address')->find($someId);

$groups = new Illuminate\Support\Collection;

$groups->put('purchaser', $purchaser);
$groups->put('another_model', $anotherModel);

// then
Form::model($groups->toArray())
  Form::text('purchaser[address]')
  Form::text('another_model[some_field]')

首先,您需要load address ,然后需要以數組方式調用它:

// eager load
$purchaser = Purchaser::with('address')->find($someId);
// or lazy load
$purchaser->load('address');

// then:
Form::model($purchaser, ...)
  Form::text('address[street]')
  Form::text('address[city]')
  // and so on

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM