【问题标题】:Laravel 5.2 SQLSTATE[42S02]: Base table or view not found: 1146 TableLaravel 5.2 SQLSTATE [42S02]:未找到基表或视图:1146 表
【发布时间】:2016-07-15 15:02:47
【问题描述】:

我的项目运行良好。向表中添加 3 个新列后,我运行了一个工匠命令

php artisan migrate:refresh

但是操作没有完成。之后,当我运行任何迁移命令时,它会抛出错误消息。

[照亮\数据库\查询异常]
SQLSTATE[42S02]: 未找到基表或视图:1146 表 'telemedicine.users' 不存在(SQL: select * from users where status = 0 and mailconfirm = 1)

注意:

我删除了所有表并运行php artisan migration 但问题仍然存在。我不明白为什么。

(SQL: select * from `users` where `status` = 0 and `mailconfirm` = 1)

此查询正在迁移期间运行。

【问题讨论】:

  • 你的模型有什么?你指定了 $table 和 $fillable 属性吗?
  • 是的,我写了“protected $fillable = ['*'];”在我的模型中;
  • 您是否尝试在终端或某些 mysql 的 IDE 中运行此查询(不在 laravel 中)?有效吗?
  • 对不起,我听不懂。
  • 我的意思是尝试运行这个查询 select * from users` where status = 0 and mailc onfirm = 1` 在纯 php(没有 laravel)或 phpmyadmin 或某些文本编辑器中.确保您的 sql 语句正确且没有错误

标签: php laravel-5.2


【解决方案1】:

谢谢大家。我已经解决了我的问题。我在 AppServiceprovider 类boot函数中使用了一个函数getAllinactiveUsersgetAllinactiveUsers 函数的定义写在Model Class 中。因此,当我尝试运行 php artisan 命令在 phpMyadmin 中创建表时,在创建表之前调用了 getAllinactiveUsers。出于这个原因,抛出了这样的错误。

Solution: 

刚刚注释了 AppServiceprovider 类 中的 getAllinactiveUsers 函数,并运行 php artisan 命令。一切正常。

【讨论】:

  • 检查您的答案是否已回答
【解决方案2】:

尝试将表的名称添加到您的模型类中。 公共 $table = "用户";

【讨论】:

    【解决方案3】:

    请正确检查您的验证,例如 'tag' => 'required|unique:tag|max:255' 错误 'tag' => 'required|unique:tags|max:255' 正确

    【讨论】:

      猜你喜欢
      • 2018-03-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-06-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多