Laravel Nova данные дублированы - PullRequest
0 голосов
/ 14 февраля 2019

я впервые использую laravel nova, я хочу сохранить свои данные в 2 таблицах, первый сохранить основные данные, а второй сохранить данные истории.В своей таблице Item я сохраняю id, код, имя, цену, а в моей таблице Item_Codes сохраняю item_id и код, я его получил.Моя проблема заключается в том, что при сохранении данных в Item_Codes два раза сохраняется

Я использую Laravel Observer, это моя сохраненная функция ItemObserver

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

, и это мой ресурс ресурса

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()),
    ];
}

Это моя модель товара

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');
}
}

Извините за мой плохой английский, надеюсь, ваши ответы

...