我将我的数组存储在config / product.php
中return [
[
'id' => 1,
'title' => 'test1',
'name' => 'name1'
],
[
'id' => 2,
'title' => 'test2',
'name' => 'name2'
],
[
'id' => 3,
'title' => "test3",
'name' => 'name3'
]
];
在我的控制器中,我使用pluck来显示我的标题
$product = collect(config('products'))->pluck('title','id');
$data['product'] = $product;
$data['store'] = $this->store;
return view($this->route.'.create',$data);
在我看来
{!!
Form::select('product',$product, null, [
'placeholder' => 'Select Product',
'class' => [
'form-control',
$errors->has('product') ? 'is-invalid' : '',
],
]);
!!}
但是这样它只会显示标题如何显示名称和标题这样的东西
Form::select('product',$product->title.$product, null, [
'placeholder' => 'Select Product',
'class' => [
'form-control',
$errors->has('product') ? 'is-invalid' : '',
],
]);
答案 0 :(得分:1)
首先,改变采摘也需要这个名字。
$product = collect(config('products'))->pluck('title', 'name', 'id');
如果它更有意义,则检索整个模型。
然后,对于表单上的每个元素,您需要进行不同的选择。
Form::select('product',$product->title, null, [
'placeholder' => 'Select Product Title',
'class' => [
'form-control',
$errors->has('product') ? 'is-invalid' : '',
],
]);
所以你需要有
的代码片段$product->title and $product->name.
您还可以使用模型绑定: https://laravel.com/docs/4.2/html#form-model-binding
使用模型绑定时,不要忘记阅读这个重要部分。
现在,当您生成表单元素(如文本输入)时,与字段名称匹配的模型值将自动设置为字段值。因此,例如,对于名为email的文本输入,用户模型的电子邮件属性将被设置为值。但是,还有更多!如果会话闪存数据中的项目与输入名称匹配,则该项目将优先于模型的值。
因此您需要先打开模型。
echo Form::model($user, array('route' => array('user.update', $user->id)))
然后您还需要在此表单中创建正确的选择字段。 在您的示例中,它将是:
echo Form::text('title');
echo Form::text('name');
完整示例:
{{ Form::model($product, ['route' => ['product.update', $product->id]]); }}
{{ Form::text('title'); }}
{{ Form::text('name'); }}
{{ Form::close() }}
答案 1 :(得分:0)
在您的控制器中获取所有产品。
$products = collect(config('products'));
在你的刀片中
<div class="form-group">
{!! Form::Label('Product', 'Products:') !!}
<select class="form-control" name="item_id">
@foreach($products as $product)
<option value="{{ $product['id'] }}">{{ $product['name']." ".$product['title'] }}</option>
@endforeach
</select>
试试这个