首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >类LaratrustSeeder不存在

类LaratrustSeeder不存在
EN

Stack Overflow用户
提问于 2020-09-22 06:06:30
回答 2查看 733关注 0票数 1

我试图清除缓存和配置,并完成供应商和虚拟平台的所有操作,但我一直告诉我。

不存在拉腊铁锈类。

我用的是拉拉8,有什么解决办法吗?

我是LaratrustSeeder.php

代码语言:javascript
运行
复制
    <?php
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Str;
use Illuminate\Support\Facades\Config;

class LaratrustSeeder extends Seeder
{
    /**
     * Run the database seeds.
     *
     * @return  void
     */
    public function run()
    {
        $this->truncateLaratrustTables();

        $config = config('laratrust_seeder.roles_structure');
        $mapPermission = collect(config('laratrust_seeder.permissions_map'));

        foreach ($config as $key => $modules) {

            // Create a new role
            $role = \App\Models\Role::firstOrCreate([
                'name' => $key,
                'display_name' => ucwords(str_replace('_', ' ', $key)),
                'description' => ucwords(str_replace('_', ' ', $key))
            ]);
            $permissions = [];

            $this->command->info('Creating Role '. strtoupper($key));

            // Reading role permission modules
            foreach ($modules as $module => $value) {

                foreach (explode(',', $value) as $p => $perm) {

                    $permissionValue = $mapPermission->get($perm);

                    $permissions[] = \App\Models\Permission::firstOrCreate([
                        'name' => $module . '-' . $permissionValue,
                        'display_name' => ucfirst($permissionValue) . ' ' . ucfirst($module),
                        'description' => ucfirst($permissionValue) . ' ' . ucfirst($module),
                    ])->id;

                    $this->command->info('Creating Permission to '.$permissionValue.' for '. $module);
                }
            }

            // Attach all permissions to the role
            $role->permissions()->sync($permissions);

            if(Config::get('laratrust_seeder.create_users')) {
                $this->command->info("Creating '{$key}' user");
                // Create default user for each role
                $user = \App\Models\User::create([
                    'name' => ucwords(str_replace('_', ' ', $key)),
                    'email' => $key.'@app.com',
                    'password' => bcrypt('password')
                ]);
                $user->attachRole($role);
            }

        }
    }

    /**
     * Truncates all the laratrust tables and the users table
     *
     * @return    void
     */
    public function truncateLaratrustTables()
    {
        $this->command->info('Truncating User, Role and Permission tables');
        Schema::disableForeignKeyConstraints();
        DB::table('permission_role')->truncate();
        DB::table('permission_user')->truncate();
        DB::table('role_user')->truncate();
        if(Config::get('laratrust_seeder.truncate_tables')) {
            \App\Models\Role::truncate();
            \App\Models\Permission::truncate();
        }
        if(Config::get('laratrust_seeder.truncate_tables') && Config::get('laratrust_seeder.create_users')) {
            \App\Models\User::truncate();
        }
        Schema::enableForeignKeyConstraints();
    }
}



at config\app

added this to providers

            'Laratrust\LaratrustServiceProvider::class,'

and this to alias

        'Laratrust' => Laratrust\LaratrustFacade::class,

DatabaseSeeder.php文件

代码语言:javascript
运行
复制
        <?php
    
    namespace Database\Seeders;
    
    
    use Illuminate\Database\Seeder;
    use LaratrustSeeder;
    
    class DatabaseSeeder extends Seeder
    {
        /**
         * Seed the application's database.
         *
         * @return void
         */
        public function run()
        {
            // User::factory(10)->create();
            $this->call(LaratrustSeeder::class);
        }
    }
EN

回答 2

Stack Overflow用户

发布于 2022-05-09 17:08:44

  1. 首先,确保santigarcor/larat锈病已安装/列出在composer.json文件中。如果没有,请编辑composer.json文件"require":{

在作曲家中放置santigarcor/larat锈的地方。json

  1. 然后运行/重新运行composer install --这将确保在您的项目中安装了拉腊铁锈。
  2. 在安装完之后,run composer dump-autoloadsudo composer dump-autoload对一些Mac用户进行安装。

4.然后是PHP artisan vendor:publish --tag="laratrust"

你应该准备好去追那个了!

票数 1
EN

Stack Overflow用户

发布于 2020-10-10 19:50:40

添加

命名空间数据库\Seeders;

在( LaratrustSeeder.php )文件的顶部

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64003921

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档