ciao!
premetto che ho sempre usato le stored procedure e mai in model in laravel.
l'ultimo cliente, invece, vuole usare i model.
con un db già creato.
quindi io ho creato il model che dovrebbe rappresentare la struttura dell tabella:
poi nel controller ho aggiunto questa funzione:codice:namespace App\Models; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; class Fornitori extends Model { protected $table = 'fornitori'; const CREATED_AT = 'forn_data_aggiunta'; const UPDATED_AT = 'forn_data_modifica'; protected $primaryKey = 'forn_id'; public $incrementing = true; protected $fillable = [ 'forn_id', 'forn_codice', 'forn_nome', 'forn_data_aggiunta', 'forn_data_modifica' ]; }
ma ottengo questo errore che proprio non capisco:codice:public function add(Request $req) { $data = $req->json()->all(); if (!empty($data)) { try { $today = date("Y-m-d H:i:s"); Fornitori::upsert( [trim($data['forn_codice']), trim($data['forn_nome']), $today, $today], ['forn_nome', $today], ['forn_codice'] ); } catch (QueryException $ex) { return response()->json([ 'res' => 'ko', 'message' => $ex->getMessage() ]); } return response()->json(array( "res" => "ok", "message" => 'Operazione avvenuta con successo!' )); } else { return response()->json(array( "res" => "ko", "message" => "Dati mancanti!" )); } }
un aiuto??codice:{ "res": "ko", "message": "SQLSTATE[42S22]: Column not found: 1054 Unknown column '0' in 'field list' (SQL: insert into `fornitori` (`forn_data_aggiunta`, `forn_data_modifica`, `0`, `1`, `2`, `3`) values (2023-09-23 17:13:39, 2023-09-23 17:13:39, cod1, codice 1, 2023-09-23 17:13:39, 2023-09-23 17:13:39) on duplicate key update `forn_codice` = values(`forn_codice`), `forn_data_modifica` = values(`forn_data_modifica`))" }

Rispondi quotando

