laravel雄辩的查询表名不区分大小写

1cklez4t  于 2021-06-21  发布在  Mysql
关注(0)|答案(1)|浏览(476)

有没有可能使雄辩的查询不区分大小写?当我决定将我的网站移到生产环境(从本地机器移到主机服务器)时,出现了一个问题。我的主机服务器上的mariadb是区分大小写的,我无法访问它的配置文件。问题是我有一个 Users 在laravel auth中使用的表。小写形式的laravel查询如下:

select * from `users` where `id` = 1 limit 1

我真的需要知道如何使查询不区分大小写,因为我有数百个查询 Users table。

vi4fp9gy

vi4fp9gy1#

正如我们在评论中所讨论的,添加 protected $table = 'StRaNgE-tAbLe-NaMe'; php将根据具体情况进行操作。
如果您有一个更结构化的命名约定,但它没有遵循laravel的默认值,那么您可以创建一个trait或model基类来重写model gettable()。
$model->gettable()如下所示。。。

/**
 * Get the table associated with the model.
 *
 * @return string
 */
public function getTable()
{
    if (! isset($this->table)) {
        return str_replace(
            '\\', '', Str::snake(Str::plural(class_basename($this)))
        );
    }

    return $this->table;
}

相关问题