Вы можете использовать $table->foreign('inventario_inicial_id')->references('id')->on('inventario_inicial')->onDelete('cascade')
в своей миграции.
Если вы не хотите использовать каскад, рассмотрите возможность использования модели events для автоматического отключения любых empresa_inventario_official
сводных записей при удаленииinventario_official
, а затем используйте метод $empresa->inventario_inicial()->delete()
вместо вашего detach()
выше.
In App\InventarioOfficial
:
protected $dispatchesEvents = ['deleting' => InventarioDeleting::class];
Затем вы можете определить событие и слушателядля события:
В App\Events\InventarioDeleting
class InventarioDeleting
{
use SerializesModels;
public $inventario_official;
public function __construct(InventarioOfficial $inventario_official)
{
$this->inventario_official = $inventario_official;
}
}
В App\Providers\EventServiceProvider
public function boot()
{
parent::boot();
Event::listen(\App\Events\InventarioDeleting::class, function ($io) {
DB::('empresa_inventario_inicial')->where('inventario_inicial_id',$io->id)->delete();
//or $io->empresas()->detach();
});
}