2013-05-14 40 views
0

我有一個配置文件編輯頁面,其中包含多個字段,如下所示。如果用戶有一個地址,這些數據將由我的表值填充。使用laravel中的表值填充輸入

即使我對這些輸入中的任何一個只有一個表值,因爲$ address對象至少會被設置,它仍然可以正常工作。

{{ Form::label('firstname', 'First Name') }} 
{{ Form::text('firstname', $address->firstname, array('placeholder' => 'Please provide a first name')) }} 

當我有絕對沒有$地址值(絕對沒有在該用戶的地址錶行),我得到明顯的錯誤:

試圖讓非對象的屬性

如何解決這個乾淨的問題?我知道使用類似isset的作品,但它會弄亂我的所有投入由去字段最多:

{{ Form::text('firstname', @if(isset($address))$address->firstname @endif, array('placeholder' => 'Please provide a first name')) }} 

(不知道這是否是正確的語法,但你的想法。)

我不能僅僅在標籤和輸入周圍扔一個isset,因爲即使根本沒有地址,我仍然需要用戶能夠設置它們。

+0

只需將'新地址'作爲'$地址'傳遞給視圖即可。 – 2013-05-14 10:41:00

+0

非常感謝。很簡單的答案,但是在編程之後,我的大腦被炸了。 :) – 2013-05-14 11:14:23

回答

0

在您的控制器中,如果用戶沒有地址,您可以分配一個新的(空的)地址並將其傳遞到您的視圖中,這樣,表單不會失敗,並且它不需要額外的邏輯模板。

+0

謝謝,做到了。 – 2013-05-14 11:14:47