The problem is in the database, the name field is empty, and you most likely have that set as not null, which then generates the problem. Make sure the the name value is passed properly.
"name":null,
Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.
Model is
<?php
/**
* Created by Reliese Model.
*/
namespace App\Models;
use Baum\Node;
use Carbon\Carbon;
use IbrahimBougaoua\FilamentSortOrder\Traits\SortOrder;
use Illuminate\Database\Eloquent\Collection;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Database\Eloquent\Relations\HasMany;
use Illuminate\Support\Str;
/**
* Class Category
*
* @property int $id
* @property string $name
* @property string $parent_id
* @property string $slug
* @property string|null $image
* @property string $description
* @property Carbon|null $created_at
* @property Carbon|null $updated_at
*
* @property Collection|Post[] $posts
*
* @package App\Models
*/
class Category extends Node
{
use SortOrder;
protected $table = 'categories';
// 'lft' column name
protected $leftColumn = 'left';
// 'rgt' column name
protected $rightColumn = 'right';
protected $fillable
= [
'name',
'parent_id',
'slug',
'image',
'description',
'sort_order',
'left',
'right'
];
resource class is
<?php
namespace App\Filament\Resources;
use App\Filament\Resources\CategoryResource\Pages;
use App\Models\Category;
use CodeWithDennis\FilamentSelectTree\SelectTree;
use Filament\Forms\Components\FileUpload;
use Filament\Forms\Components\TextInput;
use Filament\Forms\Form;
use Filament\Resources\Resource;
use Filament\Tables\Actions\BulkActionGroup;
use Filament\Tables\Actions\DeleteAction;
use Filament\Tables\Actions\DeleteBulkAction;
use Filament\Tables\Actions\EditAction;
use Filament\Tables\Columns\ImageColumn;
use Filament\Tables\Columns\TextColumn;
use Filament\Tables\Table;
use IbrahimBougaoua\FilamentSortOrder\Actions\DownStepAction;
use IbrahimBougaoua\FilamentSortOrder\Actions\UpStepAction;
use Mohamedsabil83\FilamentFormsTinyeditor\Components\TinyEditor;
class CategoryResource extends Resource
{
public static ?string $navigationGroup = 'Blog';
public static ?int $navigationSort = 2;
protected static ?string $model = Category::class;
protected static ?string $slug = 'categories';
protected static ?string $navigationIcon = 'heroicon-o-rectangle-stack';
public static function form(Form $form): Form
{
return $form
->schema([
TextInput::make('name')
->required()
->columnSpanFull(),
TinyEditor::make('description')
->required()
->columnSpanFull(),
SelectTree::make('categories')
->relationship('parent', 'name', 'parent_id'),
FileUpload::make('image')
->image()
->maxSize(1024)
])->columns(2);
}
public static function table(Table $table): Table
{
return $table
->columns([
TextColumn::make('name')
->searchable()
->sortable(),
TextColumn::make('parent.name')
->searchable()
->sortable(),
TextColumn::make('slug')
->searchable()
->sortable(),
ImageColumn::make('image')
])
->filters([
//
])
->actions([
EditAction::make(),
DeleteAction::make(),
DownStepAction::make(),
UpStepAction::make(),
])
->defaultSort('sort_order', 'asc')
->bulkActions([
BulkActionGroup::make([
DeleteBulkAction::make(),
]),
]);
}
public static function getPages(): array
{
return [
'index' => Pages\ListCategories::route('/'),
'create' => Pages\CreateCategory::route('/create'),
'edit' => Pages\EditCategory::route('/{record}/edit'),
];
}
public static function getGloballySearchableAttributes(): array
{
return ['title'];
}
}
payload
Body
{
"_token": "YJsQDxsa70uTrhpBFjcbvoeyVnQ9TWMIjq0I44FZ",
"components": [
{
"snapshot": "{"data":{"record":null,"data":[{"name":null,"description":null,"categories":null,"image":[[],{"s":"arr"}]},{"s":"arr"}],"previousUrl":"http://localhost:86/admin/categories","mountedActions":[[],{"s":"arr"}],"mountedActionsArguments":[[],{"s":"arr"}],"mountedActionsData":[[],{"s":"arr"}],"defaultAction":null,"defaultActionArguments":null,"componentFileAttachments":[[],{"s":"arr"}],"mountedFormComponentActions":[[],{"s":"arr"}],"mountedFormComponentActionsArguments":[[],{"s":"arr"}],"mountedFormComponentActionsData":[[],{"s":"arr"}],"mountedFormComponentActionsComponents":[[],{"s":"arr"}],"mountedInfolistActions":[[],{"s":"arr"}],"mountedInfolistActionsData":[[],{"s":"arr"}],"mountedInfolistActionsComponent":null,"mountedInfolistActionsInfolist":null,"savedDataHash":null},"memo":{"id":"Fnm8X0BllrvoQtwQIIQX","name":"app.filament.resources.category-resource.pages.create-category","path":"admin/categories/create","method":"GET","children":[],"scripts":[],"assets":[],"errors":[],"locale":"en"},"checksum":"35849328f8618782d9610a53b642beb74426120204cde196a45b132e9de7aafa"}",
"updates": {
"data.name": "dsadas",
"data.description": "<p>dsada</p>",
"data.categories": 3
},
"calls": [
{
"path": "",
"method": "create",
"params": []
}
]
}
]
}
don't understant what is the problem
Please or to participate in this conversation.