Я работаю с Laravel над своим школьным проектом (новичок в программировании), и у меня есть ошибка, которую я не знаю, как решить.
Поэтому, когда я пытаюсь что-то добавить/обновить в своей таблице, возникает следующая ошибка:
Бессонница ПОСТ
Таблица, модель и контроллер следующие:
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',
]);
}
}






первый вариант у вас есть: $table->string('DescAnunUser')->nullable(); и снова запустите миграцию И второй вариант у вас есть:
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',
]);
}
}
первое решение недействительно, потому что мне нужно добавить новый анун, а все поля в сообщении Insomnia (изображение) пусты, второй вариант работает для POST Insomnia, но в MYSQL он не создает новый анун в таблице.
@Shalgun добавьте поле TituloAnunUser, также поданное в обязательное поле, например $request->validate([ 'DescAnunUser' => 'обязательно', TituloAnunUser => 'обязательно']);
вы должны добавить требуемую проверку во все ваши поля, bcz если пользователь не заполнит поле, то он отправит требуемое сообщение
Пожалуйста, обрежьте свой код, чтобы было легче найти вашу проблему. Следуйте этим рекомендациям, чтобы создать минимально воспроизводимый пример.