Laravel - Problema con FirstOrCreate

 
Vista:
sin imagen de perfil
Val: 3
Ha aumentado su posición en 2 puestos en Laravel (en relación al último mes)
Gráfica de Laravel

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:

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,
    ]);
}
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:

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 = [];
}
Lo mas curioso es que estuve trabajando bien y sin modificar el codigo dejo de funcionar, como podria solucionarlo?

Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder