2016-10-06 24 views
0

我想從Laravel IoC容器中填充我的選擇框。Laravel-當我使用訪問器時,模型綁定不起作用

應用程序\ HTTP \工具\ BillingHelper.php

GitHub Logo http://i65.tinypic.com/2871i1.jpg

的意見/計費/ create.blade.php

GitHub Logo http://i66.tinypic.com/2j4bjtw.jpg

的意見/計費/編輯.blade.php

GitHub Logo http://i65.tinypic.com/2wq4imd.png

創建該表:

GitHub Logo http://i63.tinypic.com/258t9uf.png

現在,而不是價值,我想顯示一些標誌和貨幣符號。

我應該使用mutators嗎?

GitHub Logo http://i63.tinypic.com/2hn411s.png

問題

如果我使用存取器,當我打開編輯頁面,我看到總是選擇的第一個值,從BillingHelper,而不是已選定一個。

GitHub Logo http://i63.tinypic.com/4g3wix.png GitHub Logo http://i63.tinypic.com/2ld7msi.png

任何幫助嗎?謝謝。

回答

0

我知道它應該是一個評論,但我沒有聲望。

如果在編輯頁面上,您將form :: select替換爲$ client-> language和$ client-> currency,那該怎麼辦?

我知道你將區域與Form :: Model綁定在一起。但值得一試。

+0

或者,爲了改善它,請添加舊的('currency',$ client-> currency)而不是null。 –

+0

謝謝Mauro,但如果我使用Accesor來更改標誌和符號中的代碼,仍然不能工作。任何accesor替代? :D ..或更好的方式來使用它。 – confm

+0

這不是一個Accessor的替代方案,但是... 你的數據將是靜態的,或者你將改變它做一個數據庫查詢?因爲,你可以在配置文件夾中創建另一個文件,並將其作爲config('file_name.currency')檢索 如果你想要貨幣名稱:config('file_name.currency.eur') –

0

當你使用增變器時,匹配不會再發生。您必須根據您將返回的值使用匹配的靜態數組。 (標誌)

如果你爲保存數據做一個增變器並且再次簡化爲['it','en','lv'],你可以使它工作,否則你保存的數據將會不同,最初的增變器將不會再次工作。您仍然可以進行一次性測試。

這就是爲什麼:

您的表單綁定使用bill- $>語言檢索實際存儲的數據,並將其與你的$賬單::郎靜態數組中的值進行比較。如果未找到匹配項,則始終選擇第一個值。

您可以在帳單遷移中提供貨幣和語言字段定義嗎?

也從您的帳單數據庫中檢索您的值,並將其粘貼到此處以獲取語言和貨幣。他們必須在定義的靜態集合中。

相關問題