PHP如何使用laravel 5将数据从数组保存到mysql

PHP如何使用laravel 5将数据从数组保存到mysql,php,mysql,arrays,laravel,laravel-5,Php,Mysql,Arrays,Laravel,Laravel 5,Im从POST获取“圆柱体”数据数组中的数组: Array ( [serie] => Array ( [0] => 1234 [1] => 3545 ) [seriesap] => Array ( [0] => 1234234 [1] => 345345 ) [type]

Im从POST获取“圆柱体”数据数组中的数组:

Array
  (
    [serie] => Array
        (
            [0] => 1234
            [1] => 3545
        )

    [seriesap] => Array
        (
            [0] => 1234234
            [1] => 345345
        )

    [type] => Array
        (
            [0] => 4546
            [1] => csdfwe
        )

    [admission] => Array
        (
            [0] => 04-05-2015
            [1] => 04-05-2015
        )

    [invoice] => Array
        (
            [0] => fei76867
            [1] => feiasodjf
        )
  )
现在,关键字中的字段:serie、type、admission等不会改变,但是这些关键字中的信息确实会改变,我的意思是其中可能有15项

最后,我需要保存到数据库:

$cylinder            = new Cylinder();
$cylinder->serie     = ??;
$cylinder->seriesap  = ??;
$cylinder->type      = ??;
$cylinder->admission = ??;
$cylinder->invoice   = ??;
$cylinder->save
如何完成此任务并保存所有气缸

我已经尝试了所有我想不出有什么效果的方法

/编辑/

这就是我目前所做的:

$cyldata = $_POST['cylinder']; //this is the post from top.

$num_elements = 0;

while($num_elements < count($cyldata['serie'])){
    $cylinder = new Cylinder();
    $cylinder->serie     = $cyldata['serie'][$num_elements];
    $cylinder->type      = $cyldata['type'][$num_elements];
    $cylinder->admission = $cyldata['admission'][$num_elements];
    $cylinder->seriesap  = $cyldata['seriesap'][$num_elements];         
    $cylinder->save
    $num_elements++;

}
$cyldata=$\u POST['cyline']//这是上面的帖子。
$num_元素=0;
而($num_elementsserie=$cyldata['serie'][$num_elements];
$cyland->type=$cyldata['type'][$num_elements];
$cyland->acmission=$cyldata['acmission'][$num_elements];
$cyland->seriesap=$cyldata['seriesap'][$num_elements];
$cylinder->save
$num_elements++;
}

但这感觉很难看,所有这些扑救感觉都不对。脏的解决方案,如果你问我。

因为你有一个数组来将数据插入数据库,你可以尝试从模型中创建
方法:

Cylinder::create($array);
但是它实际上需要数组的
作为数据库中的
字段名
。也可以使用查询生成器执行此操作:

DB::table('table_name')->insert($array);

同样,需要将数组的
键设置为数据库中的
字段名。

首先,需要将输入数据转换为另一种格式:

$cyldata = $_POST['cylinder']; //this is the post from top.

$num_elements = 0;

$sqlData = array();

while($num_elements < count($cyldata['serie'])){
    $sqlData[] = array(
        'serie'         => $cyldata['serie'][$num_elements],
        'type'          => $cyldata['type'][$num_elements],
        'admission'     => $cyldata['admission'][$num_elements],
        'seriesap'      => $cyldata['seriesap'][$num_elements],
        'invoice'       => $cyldata['invoice'][$num_elements], // you miss this field, aren't you?
        'created_at'    => Carbon\Carbon::now(), // only if your table has this column
        'updated_at'    => Carbon\Carbon::now(), // only if your table has this column
    );
    $num_elements++;
}

注意:如果您的表中有这些字段,则在
处创建的
和在
处更新的
将显示在此处。使用雄辩模型时,这些字段会自动更新。但是,我们不使用Eloquent,因此我们必须手动将值分配给这些字段。

我不知道是什么迫使您使用
$\u POST
全局数组来接收来自用户的数据

也许,这就是你想要的

/**
 * Store the form inputs in the table
 *
 * @param Request $request
 */
public function store( Request $request ) {
    $data = Input::get();

    for($i = 0; $i < count($data['serie']); $i++) {
        $c            = new Cylinder();
        $c->serie     = $data['serie'][$i];
        $c->type      = $data['type'][$i];
        $c->admission = $data['admission'][$i];
        $c->seriesap  = $data['seriesap'][$i];

        $c->save(); // fixed typo
    }
}
/**
*将表单输入存储在表中
*
*@param Request$Request
*/
公共函数存储(请求$Request){
$data=Input::get();
对于($i=0;$iserie=$data['serie'][$i];
$c->type=$data['type'][$i];
$c->acmission=$data['acmission'][$i];
$c->seriesap=$data['seriesap'][$i];
$c->save();//修复了打字错误
}
}

我刚刚尝试了这个,只有一行,气缸表上没有信息,我认为当一个数组中有一个数组时,它不起作用。好吧,如果您使用
$cyland=new cyland(),您自己的代码可能会起作用超出while循环。
/**
 * Store the form inputs in the table
 *
 * @param Request $request
 */
public function store( Request $request ) {
    $data = Input::get();

    for($i = 0; $i < count($data['serie']); $i++) {
        $c            = new Cylinder();
        $c->serie     = $data['serie'][$i];
        $c->type      = $data['type'][$i];
        $c->admission = $data['admission'][$i];
        $c->seriesap  = $data['seriesap'][$i];

        $c->save(); // fixed typo
    }
}