Что мне нужно сделать, так это расширить все функциональные возможности ролевой модели пакета разрешений Spatie, но использовать другую таблицу для производной модели.
Прямо сейчас у меня есть модель SubscriptionPackage, для которой я хочу эмулировать поведение роли таким образом, чтобы ей могли быть назначены разрешения, и, в свою очередь, эта модель может быть назначена пользователям.Но я хочу сохранить и ролевую модель без изменений.
Я пытался расширить Да, но когда я создаю новый SubscriptionPackage, новая запись создается в таблицах ролей вместо таблицы subscription_packages, несмотря на указание таблицы в моем производномМодель.Как показано ниже
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
use App\Models\Permission; // This extends from Spatie\Permission\Models\Permission
use Spatie\Permission\Models\Role as SpatieRole;
class SubscriptionPackage extends SpatieRole
{
//
protected $guarded = ['id'];
protected $table = 'subscription_packages';
/**
* The permissions that belong to the package.
*/
public function packagePermissions()
{
return $this->belongsToMany(Permission::class);
}
}
С кодом выше, я ожидаю, когда я создаю новый SubscriptionPackage, запись должна быть вставлена в таблицу subscription_packages, но в этом случае она идет в таблицу ролей.Любые указания о том, как это сделать, будут высоко оценены.