Estou tentando enviar para o banco de dados um ARRAY dos check-box, neste exemplo definido como name="documento[] no entanto estou recebendo de retorno a seguinte mensagem de erro;
"Message: Array to string conversion"
os values aparecem assim:
ERRO: Unknown column 'Array' in 'field list' TRADUÇÃO: Coluna desconhecida 'Array' na 'lista de campos'
VALUES ('1', '', '1234', 'PEDRO PINTO', '', 'MARIA', 'JOSÉ', '2020-09-11', '15', '', 'Branco', 'Negro', 'Homossexual', '14', '2421', 'MARAJÓ', '', '', '', '', '', '', '', '', '', '', '', Array, '')
Meus códigos:
Estou usando Framework codeIgnater
view:<div class="col-md-4">
<div class="customcheck">
<h4>DOCUMENTOS</h4>
<div class="form-check">
<label>
<input type="checkbox" value="CPF" name="documento[]" id="CPF"> <span class="label-text">CPF</span>
</label>
</div>
<div class="form-check">
<label>
<input type="checkbox" value="RG" name="documento[]" id="RG"> <span class="label-text">RG</span>
</label>
</div>
<div class="form-check">
<label>
<input type="checkbox" value="Título Eleitoral" name="documento[]" id="tituloEleitoral"> <span class="label-text">Título Eleitoral</span>
</label>
</div>
<div class="form-check">
<label>
<input type="checkbox" value="Certidão nascimento" name="documento[]" id="certidaoEleitoral"> <span class="label-text">Certidão nascimento</span>
</label>
</div>
<div class="form-check">
<label>
<input type="checkbox" value="Reservista" name="documento[]" id="reservista"> <span class="label-text">Reservista</span>
</label>
</div>
<div class="form-check">
<label>
<input type="checkbox" value="CTPS" name="documento[]" id="CTPS" > <span class="label-text">CTPS</span>
</label>
</div>
<div class="form-check">
<label>
<input type="checkbox" value="Doc. social" name="documento[]" id="docSocial"> <span class="label-text">DOC. SOCIAL</span>
</label>
</div>
<span class="help-block"></span>
</div>
</div>
Controller:
public function ajax_save_socioeducando() {
//if (!$this->input->is_ajax_request()) {
// exit("Nenhum acesso de script direto permitido!");
//}
$json = array();
$json["status"] = 1;
$json["error_list"] = array();
$this->load->model("Model_seCadastro");
$data = $this->input->post();
//Validações.
$array = $data["documento"];
$documentos = implode(",", $array);
if (!empty($json["error_list"])) {
$json["status"] = 0;
} else {
if (!empty($data["se_img"])) {
$file_name = basename($data["se_img"]);
$old_path = getcwd() . "/tmp/" . $file_name;
$new_path = getcwd() . "/assets/img/se/" . $file_name;
rename($old_path, $new_path);
$data["se_img"] = "/assets/img/se/" . $file_name;
} else {
unset($data["se_img"]);
}
if (empty($data["id_se"])) {
$this->Model_seCadastro->insert($data);
} else {
$id_se = $data["id_se"];
unset($data["id_se"]);
$this->Model_seCadastro->update($id_se, $data);
}
}
echo json_encode($json);
}
arquivo .js
// Salvar SE
$("#formCadastroSe").submit(function() {
$.ajax({
url: "Sec_cadastroAdd/ajax_save_socioeducando",
dataType: "json",
data: $(this).serialize(),
type: "POST",
beforeSend: function () {
clearErrors();
$("#btn_add_se").siblings(".help-block").html(loadingImg("Verificando..."));
},
success: function(response){
clearErrors();
if (response["status"]) {
Swal.fire({
title: "Sucesso!",
text: "Socioeducando salvo com sucesso!",
type: "success"
}).then(function() {
window.location = "sec_cadastroControle";
});
} else {
showErrors(response["error_list"]);
}
}
})
return false;
});