Laravel Nova数据重复

this is my first time using laravel nova, i want to save my data in 2 table, the first save basic data and the second save history data. In my Item table i'm saving id, code, name, price and my Item_Codes table saving item_id and code, i got it. My problem is when save the data in Item_Codes is saving two times

I'm using Laravel Observer, this is my saved function of ItemObserver

public function saved(Item $item)
{
    DB::table('item_codes')->insert(
        [
            'item_id' => $item->id,
            'code' => $item->current_code,
            'created_by' => $item->created_by,
        ]
    );
}

and this is my Item Resource

public function fields(Request $request)
{
    return [
        ID::make()->sortable(),

        Text::make('Original code', 'original_code')
            ->sortable()
            ->rules('required', 'string', 'max:255')
            ->hideFromIndex(),

        Text::make('Current code', 'current_code')
            ->sortable()
            ->rules('required', 'string', 'max:255'),

        Text::make('Name', 'name')
            ->sortable()
            ->rules('required', 'string', 'max:255'),

        Textarea::make('Description', 'description')
            ->rules('required')
            ->creationRules('required', 'string'),

        Number::make('Cost', 'cost')
            ->sortable()
            ->rules('required')
            ->min(1),

        Number::make('Minimum price', 'minimum_price')
            ->sortable()
            ->rules('required')
            ->min(1),

        Text::make('ABCD Classification', 'abcd_classification')
            ->sortable()
            ->rules('required', 'string')
            ->hideFromIndex()
            ->hideWhenCreating()
            ->hideWhenUpdating(),

        BelongsToMany::make('Categories'),

        new Panel('Stock', $this->stockFields()),
        new Panel('Tracking', $this->trackingFields()),
    ];
}

This is my Item Model

class Item extends Model{

/**
 * The attributes that aren mass assignable.
 * 
 * @var array
 */
protected $fillable = [
    'original_code',
    'current_code',
    'name',
    'description',
    'current_stock',
    'unavailable_stock',
    'cost',
    'minimum_price',
    'abcd_classification'
];

/**
 * The attributes that aren't mass assignable.
 * 
 * @var array
 */
protected $guarded = [
    'created_by',
    'updated_by'
];

/**
 * 
 * Providers
 * 
 * Returns the items providers
 * 
 * @return collection
 */
public function providers()
{
    return $this->belongsToMany('App\Models\Provider');
}

/**
 * 
 * Categories
 * 
 * Returns the items categories
 * 
 * @return collection
 */
public function categories()
{
    return $this->belongsToMany('App\Models\Category');
}
}

Sorry for my bad english, i hope your answers