所以我有很多使用状态下拉列表的表单 - 发现这很有效:
{!! Form::select('state',array(
'AL'=>'Alabama',
'AK'=>'Alaska',
'AZ'=>'Arizona',
'AR'=>'Arkansas',
'CA'=>'California',
'CO'=>'Colorado',
'CT'=>'Connecticut',
'DE'=>'Delaware',
'DC'=>'District of Columbia',
'FL'=>'Florida',
'GA'=>'Georgia',
'HI'=>'Hawaii',
'ID'=>'Idaho',
'IL'=>'Illinois',
'IN'=>'Indiana',
'IA'=>'Iowa',
'KS'=>'Kansas',
'KY'=>'Kentucky',
'LA'=>'Louisiana',
'ME'=>'Maine',
'MD'=>'Maryland',
'MA'=>'Massachusetts',
'MI'=>'Michigan',
'MN'=>'Minnesota',
'MS'=>'Mississippi',
'MO'=>'Missouri',
'MT'=>'Montana',
'NE'=>'Nebraska',
'NV'=>'Nevada',
'NH'=>'New Hampshire',
'NJ'=>'New Jersey',
'NM'=>'New Mexico',
'NY'=>'New York',
'NC'=>'North Carolina',
'ND'=>'North Dakota',
'OH'=>'Ohio',
'OK'=>'Oklahoma',
'OR'=>'Oregon',
'PA'=>'Pennsylvania',
'RI'=>'Rhode Island',
'SC'=>'South Carolina',
'SD'=>'South Dakota',
'TN'=>'Tennessee',
'TX'=>'Texas',
'UT'=>'Utah',
'VT'=>'Vermont',
'VA'=>'Virginia',
'WA'=>'Washington',
'WV'=>'West Virginia',
'WI'=>'Wisconsin',
'WY'=>'Wyoming',
) ,
Input::old('state'),
array(
'class' => 'zip-lookup-field-state-short'
))
!!}
但是这会出现在整个网站的几种形式上 - 如何将状态数组放在某处并将其包含在刀片视图中?我试过把它放在一个数组$ states =' Al' =>' Alabama' ...等并使用@include,但那并不是似乎工作。尝试配置但没有骰子。也许我错了,但我似乎无法找到这个......
SO正在说这个问题:Laravel: Where to store global arrays data and constants?是一样的 - 但是没有一个是为选择框工作的......
答案 0 :(得分:0)
我喜欢为这些类型的东西拥有自己的帮助文件。
app
| -- helpers.php
然后在composer.json
中找到files:
块并添加:
['app/helpers.php']
然后你可以将states数组放在那里
if (!function_exists('us_states')) {
function us_states() {
return [
'AL'=>'Alabama',
'AK'=>'Alaska',
'AZ'=>'Arizona',
'AR'=>'Arkansas',
'CA'=>'California',
'CO'=>'Colorado',
'CT'=>'Connecticut',
'DE'=>'Delaware',
'DC'=>'District of Columbia',
'FL'=>'Florida',
'GA'=>'Georgia',
'HI'=>'Hawaii',
'ID'=>'Idaho',
'IL'=>'Illinois',
'IN'=>'Indiana',
'IA'=>'Iowa',
'KS'=>'Kansas',
'KY'=>'Kentucky',
'LA'=>'Louisiana',
'ME'=>'Maine',
'MD'=>'Maryland',
'MA'=>'Massachusetts',
'MI'=>'Michigan',
'MN'=>'Minnesota',
'MS'=>'Mississippi',
'MO'=>'Missouri',
'MT'=>'Montana',
'NE'=>'Nebraska',
'NV'=>'Nevada',
'NH'=>'New Hampshire',
'NJ'=>'New Jersey',
'NM'=>'New Mexico',
'NY'=>'New York',
'NC'=>'North Carolina',
'ND'=>'North Dakota',
'OH'=>'Ohio',
'OK'=>'Oklahoma',
'OR'=>'Oregon',
'PA'=>'Pennsylvania',
'RI'=>'Rhode Island',
'SC'=>'South Carolina',
'SD'=>'South Dakota',
'TN'=>'Tennessee',
'TX'=>'Texas',
'UT'=>'Utah',
'VT'=>'Vermont',
'VA'=>'Virginia',
'WA'=>'Washington',
'WV'=>'West Virginia',
'WI'=>'Wisconsin',
'WY'=>'Wyoming',
];
}
}
然后你可以拨打us_states()
。
如果您收到错误,请确保php artisan optimize
或composer dump-autoload
。
答案 1 :(得分:0)
将它们放入键/值表中,以便在某些时候使用数据库编辑而不是硬编码来编辑它们。如果您的申请必须在具有不同州名的国家/地区以外的地方工作,该怎么办?
e.g。像这样:https://github.com/delatbabel/keylists
关键功能是:Keyvalue::getKeyvaluesByKeyType()
e.g。 Keyvalue::getKeyvaluesByKeyType('usa_states')