【问题标题】:Laravel Error - Base table or view not foundLaravel 错误 - 未找到基表或视图
【发布时间】:2019-06-09 05:54:18
【问题描述】:

我正在尝试运行我克隆的这段代码,但我不断收到此错误..

[Illuminate\Database\QueryException]
  SQLSTATE[42S02]: Base table or view not found: 1146 Table 'roocket.permissions' doesn't exist (SQL: select * from `permissions`)



  [PDOException]
  SQLSTATE[42S02]: Base table or view not found: 1146 Table 'roocket.permissions' doesn't exist-Vue-Dashboard/blob/master/src/pages/Pages/RTLPage.vue

我已经运行了 composer installnpm install ,我是 laravel 世界的新手。

我已将 repo 上传到我的 github https://github.com/arya107/laravelbackend。 我已经通过 XAMPP 连接了数据库,但我不知道问题出在哪里。

【问题讨论】:

  • 在DB中需要创建一个具有name权限的表,(迁移文件缺少表权限)
  • 你运行迁移了吗?
  • ErDiablo 你是什么意思?
  • 我认为您忘记了表权限。在您的 github 迁移中,我没有找到它。你的问题说没有这个表。您可以尝试我的解决方案可能会有所帮助
  • 没有任何东西被导入数据库

标签: php mysql laravel


【解决方案1】:
php artisan migrate 

您缺少数据库表。运行项目中包含的迁移以在您的数据库中创建表。

【讨论】:

  • 命令有效吗?您是否在数据库中获取了表或出现错误?
  • 你能运行php artisan config:cache然后再执行一次迁移命令吗?
  • 同样的错误 ` [Illuminate\Database\QueryException] SQLSTATE[42S02]: 找不到基表或视图:1146 表 'roocket.permissions' 不存在(SQL: select * from permissions ) [PDOException] SQLSTATE[42S02]: 未找到基表或视图:1146 表 'roocket.permissions' 不存在`
  • 我克隆了这个项目,你能告诉我如何进行迁移吗?
  • 抱歉应该创建表迁移存在于 2017_06_04_055720_create_roles_table.php 迁移中。运行迁移命令时是否创建了任何表?您的 .env 文件是否设置为连接到本地数据库?
【解决方案2】:

migration 正在同时创建字段和关系。正如this 回答所解释的那样,我会尝试使用单独的迁移:

但我总是在单独的 Schema::table() 命令中创建外键,因为某些数据库需要您在将约束附加到它之前拥有该列

我认为(还没有尝试过)您的数据库引擎不接受创建外键关系,因为尚未创建 FK 字段。

您也可以尝试使用以下方法进行完整迁移:

php artisan migrate:fresh

该命令将删除所有数据库表,所以要小心!

【讨论】:

    【解决方案3】:

    基本上,对我来说,解决方法是我需要注释掉

          {
            Gate::define($permission->name , function ($user) use($permission){
                return $user->hasRole($permission->roles);
            });
          }
    

    然后,我可以安装它,然后我重新启用了代码:)

    【讨论】:

    • 在我的 App/Providers/AuthServiceProvider.php 中也有同样的问题。高飞,但有效..
    猜你喜欢
    • 2016-04-16
    • 2020-03-13
    • 2016-06-21
    • 1970-01-01
    • 2018-01-25
    • 2023-03-08
    • 2016-09-23
    • 2016-01-25
    相关资源
    最近更新 更多