【问题标题】:My lowercase table names not working on the server [duplicate]我的小写表名在服务器上不起作用[重复]
【发布时间】:2017-06-09 03:38:57
【问题描述】:

我在我的系统上本地创建了一个 laravel 博客,我在 windows 环境中。现在,当我将文件上传到实时服务器时,出现以下错误:

在我的本地环境中,我的表名是小写的,所以到目前为止,错误是这样的:

'peckinga_blog.Admin' doesn't exist (SQL: select * from `Admin` order by `created_at` desc limit 10)

问题是我的表名实际上是 peckinga_blog.admin 而不是 peckinga_blog.Admin 如错误所述。那么我如何让 laravel 查找小写表名??

P.S. :- 我暂时启用了以下功能:

APP_DEBUG=true

在我的.env 文件中。

【问题讨论】:

    标签: php laravel laravel-5


    【解决方案1】:

    数据库和表名在 Windows 中不区分大小写,在大多数 Unix 中区分大小写。

    在 MySQL 中,数据库对应于数据中的目录 目录。数据库中的每个表至少对应一个 数据库目录中的文件。因此,区分大小写 底层操作系统的一部分在案例中起作用 数据库和表名的敏感性。

    【讨论】:

      【解决方案2】:

      如果你正在对模型进行一些操作,那么你可以在其中指定表名,如下所示:

      <?php
      
      namespace App;
      
      use Illuminate\Database\Eloquent\Model;
      
      class Flight extends Model
      {
          /**
           * The table associated with the model.
           *
           * @var string
           */
          protected $table = 'my_flights';
      }
      

      Documentation

      【讨论】:

        猜你喜欢
        • 2016-10-31
        • 2015-04-01
        • 2018-04-13
        • 1970-01-01
        • 1970-01-01
        • 2011-09-11
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多