Laravel 4存储索引而不是数据库中的值

时间:2014-04-24 13:17:45

标签: php mysql laravel

您好想在数据库中保存一些数据。我创建了一个表单,并从表单到控制器获取数据并保存在数据库中。问题是,不是保存用户输入的值,而是保存此值在下拉列表中的顺序。 create.blade.php

{{ Form::open(array('url' => 'cars', 'class'=>'form-horizontal')) }}
 <div class="form-group">
         {{ Form::label('id', 'Color',array('class'=>'control-label col-lg-4')) }}
            <div class="col-lg-8">
               {{ Form::select('color', $color, null, array('class' => 'form-control')) }}
                </div>
            </div>
{{ Form::submit('Save', array('class' => 'btn btn-primary')) }}

CarController.php

public function store() {
   $data = new Car;
   $data->color = Input::get('color');
     $data->save();
     // redirect
     return Redirect::to('cars');
    }

我做错了什么?

1 个答案:

答案 0 :(得分:0)

关键是要改变Arual从以下方式获取颜色的方式:

$color = DB::table('cars')->orderBy('Color', 'asc')->distinct()->lists('Color');

为:

$color = DB::table('cars')->orderBy('Color', 'asc')->distinct()->lists('Color', 'Color');

他也问为什么。很难说,我检查了Laravel的源代码,但是我应该研究更长时间来计算最新情况。如果未在id函数中指定,则$key列可能会被视为lists属性。