【问题标题】:Accessing input array data Laravel 4.2 Form访问输入数组数据 Laravel 4.2 表单
【发布时间】:2016-10-18 10:54:01
【问题描述】:

我正在努力访问 Laravel 中的所有输入数组数据,因为我之前没有问题:例如,$_POST['name'][$row]

我也收到以下错误,但我认为这是因为 NULL 数据。
SQLSTATE [42S22]:未找到列:1054 '字段列表'中的未知列 '0'

发布数据:

name    Array ( [0] => name1 [1] => name2 )
dob Array ( [0] => 06/23/16 [1] => 06/03/16 )
gender  Array ( [0] => 1 [1] => 0 )

循环:

$jobID = 2;
$data = array();
foreach(Input::get('name') as $row=>$name){

    $dob = Input::get('dob'.$row);
    $gender = Input::get('gender'.$row);

    $data[] = "['job_id' => '$jobID', 'first_name' => '$name', 'dob' => '$dob', 'gender' => '$gender']";

}

$data_insert = implode(',', $data);

if(!empty($name)) {
    DB::table('job_data')->insert([
        $data_insert
    ]);

}

生成的 SQL:

insert into `job_data` (`0`) 
values (
  ['job_id' => '2', 'first_name' => 'name1', 'dob' => '', 'gender' => ''],
  ['job_id' => '2', 'first_name' => 'name2', 'dob' => '', 'gender' => '']
)

【问题讨论】:

    标签: php arrays laravel foreach


    【解决方案1】:

    您不必对数据进行字符串化,只需使用它即可

    $data[] = [
        'job_id' => $jobID, 
        'first_name' => $name, 
        'dob' => $dob, 
        'gender' => $gender
    ];
    

    并插入它

    DB::table('job_data')->insert($data);
    

    【讨论】:

    • 删除之前的评论。谢谢,这可以解决未知列错误,但我的数据除了名称之外仍然是 NULL。
    • 改变你的行 $dob = Input::get('dob'.$row);进入 $dob = Input::get('dob')[$row];还有性别
    • 或输入::get("dob.$row");
    猜你喜欢
    • 2011-09-09
    • 2015-04-02
    • 2015-05-23
    • 2023-03-16
    • 2021-12-31
    • 2015-01-16
    • 2015-02-26
    • 2017-01-06
    • 1970-01-01
    相关资源
    最近更新 更多