我想在一个BD中添加一个数组数据
我有这个代码
$id=$usuario->id;
$datereg = date ( "Y-m-d H:i:s" );
$dateact = date ( "Y-m-d H:i:s" );
$idcat = array($request->input ( 'cat' ));
$sqlInsert = array(
array('id'=>$id, 'idcat'=>$idcat, 'datereg'=>$datereg,'dateact'=>$dateact),
);
//DB::statement ( "INSERT INTO intereses (usuario_movil_id,categorias_id, fecha_registro, fecha_actualizacion) VALUES ('$id', '$idcat','$datereg','$dateact')" );
foreach ( $sqlInsert as $row ) {
DB::statement(
"INSERT INTO intereses (usuarios_movil_id,categorias_id, fecha_registro, fecha_actualizacion) VALUES (? , ? , ? , ? )",
array($row['id'], $row['idcat'], $row['datereg'], $row['dateact'])
);
}
此代码向我显示错误“preg_replace():参数不匹配,模式是一个字符串,而替换是一个数组”
有什么想法吗?
最佳答案
我修改了代码
$id=$usuario->id;
$datereg = date ( "Y-m-d H:i:s" );
$dateact = date ( "Y-m-d H:i:s" );
$idcat = array($request->input ( 'cat' ));
$sqlInsert =
array('idcat'=>$idcat);
//DB::statement ( "INSERT INTO intereses (usuario_movil_id,categorias_id, fecha_registro, fecha_actualizacion) VALUES ('$id', '$idcat','$datereg','$dateact')" );
foreach ( $idcat as $row=>$value ) {
DB::statement(
"INSERT INTO intereses (usuarios_movil_id,categorias_id, fecha_registro, fecha_actualizacion) VALUES ('$id', '".$row[$request->input ( 'cat' )]."', '$datereg', '$dateact' )"
//array($id, $row['idcat'], $datereg, $dateact)
);
}
现在 ''categorias_id'' 的值为空
关于php - 在 BD Laravel 中插入数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31994631/