Problema con FirstOrCreate
Publicado por Rafael (3 intervenciones) el 04/03/2020 17:17:58
Estoy importando datos de un archivo excel a mi base de datos desde laravel y me encuentro con un problema con el first or create me sale el siguiente error:
El codigo de como estoy haciendo el import es el siguiente:
Probe con dd( ) para ver si el dato llegaba y si llega correctamente, no entiendo porque puede ser el fallo en mi modelo tengo lo siguiente:
Lo mas curioso es que estuve trabajando bien y sin modificar el codigo dejo de funcionar, como podria solucionarlo?
Gracias
1
Integrity constraint violation: 1048 Column 'tipo_nombre' cannot be null (SQL: insert into 'tbl_tipo_instrumento' ('tipo_nombre') values (?))
El codigo de como estoy haciendo el import es el siguiente:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
public function model(array $row)
{
//dd($row['tipoinstrumento']); ver si el dato llega
//Si no encuentra el dato en la tabla lo crea
$tipo = tbl_tipo_instrumento::firstOrCreate(
['tipo_nombre' => $row['tipoinstrumento']],//busca
['tipo_nombre'=>$row['tipoinstrumento']] //crea
);
$marca = tbl_marca::firstOrCreate(
['mar_nombre' => $row['marca']],
['mar_nombre'=>$row['marca']]
);
$id = Auth::id(); //trae el id del usuario logeado
return new tbl_instrumentos([
'ins_codigo' => $row['codigo'],
'ins_observacionInicial' => $row['observacioninicial'],
'ins_proximaCalibracion'=>$row['proximacalibracion'],
'ins_fechaUltimaCalibracion'=>$row['ultimacalibracion'],
'ins_claseOexactitud' => $row['claseoexactitud'],
'ins_nSerie' => $row['nserie'],
'ins_divOescala'=>$row['divoescala'],
'ins_consecutivoInterno' => $row['consecutivointerno'],
'ins_observaciones' =>$row['observaciones'],
'ins_observacionFinal' => $row['observacionfinal'],
'ins_magnitud' => $row['magnitud'],
'ins_modelo' => $row['modelo'],
'ins_codActividad' => $row['codigoactividad'],
'ins_area' => 'null',
'ins_usu_id' => $id,
'ins_tipo_id' => $tipo->tipo_id,
'ins_mar_id' => $marca->mar_id,
]);
}
1
2
3
4
5
6
7
8
9
class tbl_tipo_instrumento extends Model
{
public $timestamps = false;
protected $primaryKey = 'tipo_id';
public $table="tbl_tipo_instrumento";
protected $fillable = ['tipo_nombre'];
protected $guarded = [];
}
Gracias
Valora esta pregunta


0