I have tried to store values in my database and I have run into a problem I am handling Laraver 5.5 and SQL Serve 2016
"message": "SQLSTATE[23000]: [Microsoft][ODBC Driver 13 for SQL Server][SQL Server]No se puede insertar el valor NULL en la columna 'Telefono', tabla 'Nombre_DB.dbo.tblTelefonos'. La columna no admite valores NULL. Error de INSERT. (SQL: insert into [dbo].[tblTelefonos] ([Telefono], [idParentesco]) values (, ))",
This is the code I have:
Vista
<div id="collapseFour" class="collapse" aria-labelledby="headingFour" data-parent="#accordion">
<div class="card-body">
<div class="container">
<div class="row"><!-- Div Row -->
<div class="col-md-3 cuadros">
<h6 class="letra"><span class="obligatorio">*</span> Teléfono:</h6>
<hr class="linea1">
<input name="txtTelefono" class="k-textbox" type="text" id="txtTelefono" maxlength="10" style="width: 100%">
</div>
<div class="col-md-7 cuadros">
<h6 class="letra"><span class="obligatorio">*</span> Parentesco:</h6>
<hr class="linea1">
<input name="cmbParentesco" placeholder="SELECCIONA" type="text" id="cmbParentesco" style="width: 100%">
</div>
<div class="col-md-2 cuadros">
<button type="button" id="btnAgregarTelefono" onclick="agregarTelefono();" title="Agregar teléfono" class="btn btn-success"><i class="fas fa-plus" aria-hidden="true"></i> Agregar</button>
<br>
</div>
</div><!-- Fin Div Row -->
<br>
<div class="row">
<div class="navegacion-tabla">
<table width="100%" id="tbTelefonos" class="table table-striped table-bordered">
<thead>
<tr>
<th width="30%">Teléfono</th>
<th width="60%">Parentesco</th>
<th width="10%">Eliminar</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
</div>
Driver
<?php
namespace acciones\Http\Controllers;
use Illuminate\Http\Request;
use acciones\Telefono;
use DB;
class TelefonoController extends Controller
{
//
protected function obtenerTelefonosSolicitante($solicitante)
{
$result = DB::table('tblTelefonos')
->select('idSolicitante','tblTelefonos.Telefono','tblTelefonos.idParentesco','tblCParentesco.idParentesco','tblCParentesco.Descripcion')
->join('tblCParentesco', 'tblCParentesco.idParentesco', '=', 'tblTelefonos.idParentesco')
->where('idSolicitante',$solicitante)->get();
return response()->json($result);
}
protected function buscarTelefonoPorSolicitanteParentesco($solicitante,$parentesco,$telefono)
{
$arreglo = Telefono::where('idSolicitante',$solicitante)->
where('idParentesco',$parentesco)->
where('Telefono',$telefono)->get();
if(count($arreglo)>0){
return response()->json("true");
}
return response()->json("false");
}
protected function agregar(Request $request)
{
if($request->ajax()){
Telefono::create($request->all());
return response()->json([
'mensaje' => 'Successfully created!'
]);
}
}
protected function eliminar(Request $request,$solicitante,$parentesco)
{
if($request->ajax()){
DB::table('tblTelefonos')->
where('idSolicitante',$solicitante)->
where('idParentesco',$parentesco)->
delete();
return response()->json([
'mensaje' => 'Successfully deleted!'
]);
}
}
}
Routes
Route::get('/telefonoPorSolicitante/{solicitante}','TelefonoController@obtenerTelefonosSolicitante');
Route::get('/telefonoPorSolicitanteParentesco/{solicitante}/{parentesco}/{telefono}',' TelefonoController@buscarTelefonoPorSolicitanteParentesco');
Route::post('/telefono/agregar','TelefonoController@agregar');
Route::delete('/telefono/eliminar/{solicitante}/{parentesco}','TelefonoController@eliminar');
Js
function agregarTelefono(){
let auxClaveAccion = claveAccion.substring(0,2) + '.' + claveAccion.substring(3,5) + '.' + claveAccion.substring(6);
let bandera = '';
$.ajaxSetup({async:false});
//Verificar que el telefono existe en la tabla tblDatosSolicitantes
$.getJSON('/solicitante/'+$('#txtCURP').val()+'/'+auxClaveAccion,function(item){
solicitante = item.idSolicitante;
});
// console.log('/solicitante/'+auxClaveAccion);
//solicitante = "1511"
if(solicitante!=""){
//Checar si el telefono ya existe en tblTelefonos
$.getJSON('/telefonoPorSolicitanteParentesco/'+solicitante+'/'+idParentesco+'/'+telefono,function(data){
bandera = data;
});
console.log('/telefonoPorSolicitanteParentesco/'+solicitante+'/'+idParentesco+'/'+telefono);
//Si no está, se inserta
if(bandera!="true"){
$.ajax({
url: '/telefono/agregar',
async:false,
headers:{'X-CSRF-TOKEN': $('meta[name="_token"]').attr('content')},
type: 'POST',
data: {
"idSolicitante":solicitante,
"Telefono":telefono,
"idParentesco":idParentesco
},
success:function(data,status,xhr){
console.log(xhr.responseText );
recargarTablaTelefonos();
//Ocultar ovelay
$('#overlay').css({'display':'none'});
//exito();
},
error:function(xhr, status, error){
console.log(xhr.responseText );
//Ocultar ovelay
$('#overlay').css({'display':'none'});
//alerta('<label><span class="fas fa-exclamation-triangle"></span> Ha ocurrido un error, por favor cierra la ventana e inténtalo nuevamente.</label>','danger');
}
});
}else{
//Ocultar ovelay
$('#overlay').css({'display':'none'});
mostrarError('Registro repetido.');
}
}
}
function eliminarTelefono(idSolicitante,idParentesco){
$.ajax({
url: '/telefono/eliminar/'+idSolicitante+'/'+idParentesco,
async:false,
headers:{'X-CSRF-TOKEN': $('meta[name="_token"]').attr('content')},
type: 'DELETE',
success:function(data,status,xhr){
//console.log(xhr.responseText );
//Recargar tabla de teléfonos
recargarTablaTelefonos();
//exito();
},
error:function(xhr, status, error){
//console.log(xhr.responseText );
//alerta('<label><span class="fas fa-exclamation-triangle"></span> Ha ocurrido un error, por favor cierra la ventana e inténtalo nuevamente.</label>','danger');
}
});
}
$('#btnAgregarTelefono').click(function(){
telefono = $('#telefono').val();
idParentesco = $('#cmbParentesco').data('kendoComboBox').value();
parentesco = $('#cmbParentesco').data('kendoComboBox').text();
if(telefono != "" && parentesco != ""){
//Mostrar cargando
$('#overlay').css({'display':'block'});
clearTimeout(timer);
timer = setTimeout(agregarTelefono, 100);
}else{
mostrarError('Debes llenar los campos marcados con asterisco (*).');
}
});
I hope you can help me, regards.