Laravel从数组中获取值以进行验证并存储在DB中

时间:2014-12-22 06:51:51

标签: php arrays validation laravel laravel-4

我正在从视图向控制器发送值

这是我的剧本:

<script>
    $(document).ready(function() {
        var vehicle_data = [];
        $("#vehicle_submit").click(function(event) {
            event.preventDefault();
            vehicle_data.push($("#_token").val());
            vehicle_data.push($("#VehicleNo").val());
            vehicle_data.push($("#VehicleName").val());
            $.ajax({
                type: "POST",
                url: "{{ URL::to('vehicle-process') }}",
                data: "vehicle_arr=" + vehicle_data,
                async: true,
                success: function(data) {
                    console.log(data);
                }
            }, "json");
        });
    });
</script>

我使用POST方法将值VehicleNo和VehicleName作为名为vehicle_arr的单个数组发送到vehicle-process控制器。

现在在控制器中:

public function vehicle_process() 
{
    $a = Input::except(array('_token')) ;
    $rule = array(
        'VehicleNo' => 'required',
        'VehicleSeats' => 'required'
    );
    $validator = Validator::make($a, $rule);

    if ($validator - > fails()) {
        $messages = $validator - > messages();
        return $messages;
    }
    else
   {
        $table = new VehicleModel;
        $table->VehicleNo=$VehicleNo;  // How can i get the value of VehicleNo and Vehcle Name
        $table->save();
   }

验证者无法分析元素的名称,即VehicleNo或VehicleSeats,

因此,每当我从视图传递数据时,它始终显示VeihcleNo所需的验证器消息。

我可以将验证器设为

    $rule = array(
        $a['VehicleNo'] => 'required',
        $a['VehicleSeats'] => 'required'
    );

因为我将所有值存储在$ a中。

我甚至测试return $a;来查看它显示的控制器中的所有元素,如

 Object {vehicle_arr: "wBNTzuTY20GL6BR147TIM9l8mxpCbgMAM7ok7fD4,EZ-55,35"}

是否可以获得

之类的值

$ value =输入::发布(&#39; VehicleNo&#39;);

那么,我如何获取值提取,以便我可以完成验证并存储在db

我的模型只有表名

所以我只需要获取$ VehicleNo的值来存储在db中。所以我可以构建这个

        $table->VehicleNo=$VehicleNo;
        $table->save();

更新:即使我将方法改为POST到GET以实现我的结果

也没关系

0 个答案:

没有答案