I'm working with Laravel on my school project (beginner in programming), and I have an error that I don't know how to solve.
So when I try to add/update something in my table, the following error occurs:
Insomnia POST
the table, model and controller are as follows:
Schema::create('TblAnunUsuario', function (Blueprint $table) {
$table->engine = 'InnoDB';
$table->id('idAnunUser');
$table->string('TituloAnunUser');
$table->string('DescAnunUser');
$table->integer('PrecoAnunUser');
$table->string('RequisitosAnunUser');
$table->string('ImgAnunUser');
$table->char('StatusAnunUser', 1);
$table->dateTime('DataAnunUser');
$table->unsignedBigInteger('idUserAnunUser')->unsigned();
$table->foreign('idUserAnunUser')->references('idUser')->on('TblUsuario');
$table->unsignedBigInteger('idTipoServAnunUser')->unsigned();
$table->foreign('idTipoServAnunUser')->references('idTipoServ')->on('TblTipoServico');
use HasFactory;
public $timestamps = false;
protected $primaryKey = 'idAnunUser';
protected $table = 'TblAnunUsuario';
protected $fillable = ['TituloAnunUser', 'DescAnunUser', 'PrecoAnunUser', 'RequisitosAnunUser','ImgAnunUser', 'StatusAnunUser', 'DataAnunUser', 'idUserAnunUser', 'idTipoServAnunUser'];
public function addAnunUsuario(Request $request)
{
$anunuser = New TblAnunUsuario();
$anunuser->TituloAnunUser = $request->TituloAnunUser;
$anunuser->DescAnunUser = $request->DescAnunUser;
$anunuser->PrecoAnunUser = $request->PrecoAnunUser;
$anunuser->RequisitosAnunUser = $request->RequisitosAnunUser;
$anunuser->ImgAnunUser = $request->ImgAnunUser;
$anunuser->StatusAnunUser = $request->StatusAnunUser;
$anunuser->DataAnunUser = $request->DataAnunUser;
$anunuser->idUserAnunUser = $request->idUserAnunUser;
$anunuser->idTipoServAnunUser = $request->idTipoServAnunUser;
$result = $anunuser->save();
if($result)
{
return response()->json([
'status'=>'200',
'message'=>'Anúncio inserido com sucesso',
]);
} else {
return response()->json([
'status'=>'400',
'message'=>'Falha ao inserir o anúncio',
]);
}
}
first option you have : $table->string('DescAnunUser')->nullable(); and run migration again And second option you have:
public function addAnunUsuario(Request $request)
{ $request->validate([
'DescAnunUser' => 'required'
]);
$anunuser = New TblAnunUsuario();
$anunuser->TituloAnunUser = $request->TituloAnunUser;
$anunuser->DescAnunUser = $request->DescAnunUser;
$anunuser->PrecoAnunUser = $request->PrecoAnunUser;
$anunuser->RequisitosAnunUser = $request->RequisitosAnunUser;
$anunuser->ImgAnunUser = $request->ImgAnunUser;
$anunuser->StatusAnunUser = $request->StatusAnunUser;
$anunuser->DataAnunUser = $request->DataAnunUser;
$anunuser->idUserAnunUser = $request->idUserAnunUser;
$anunuser->idTipoServAnunUser = $request->idTipoServAnunUser;
$result = $anunuser->save();
if($result)
{
return response()->json([
'status'=>'200',
'message'=>'Anúncio inserido com sucesso',
]);
} else {
return response()->json([
'status'=>'400',
'message'=>'Falha ao inserir o anúncio',
]);
}
}