有没有可能使雄辩的查询不区分大小写?当我决定将我的网站移到生产环境(从本地机器移到主机服务器)时,出现了一个问题。我的主机服务器上的mariadb是区分大小写的,我无法访问它的配置文件。问题是我有一个 Users 在laravel auth中使用的表。小写形式的laravel查询如下:
Users
select * from `users` where `id` = 1 limit 1
我真的需要知道如何使查询不区分大小写,因为我有数百个查询 Users table。
vi4fp9gy1#
正如我们在评论中所讨论的,添加 protected $table = 'StRaNgE-tAbLe-NaMe'; php将根据具体情况进行操作。如果您有一个更结构化的命名约定,但它没有遵循laravel的默认值,那么您可以创建一个trait或model基类来重写model gettable()。$model->gettable()如下所示。。。
protected $table = 'StRaNgE-tAbLe-NaMe';
/** * 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; }
1条答案
按热度按时间vi4fp9gy1#
正如我们在评论中所讨论的,添加
protected $table = 'StRaNgE-tAbLe-NaMe';
php将根据具体情况进行操作。如果您有一个更结构化的命名约定,但它没有遵循laravel的默认值,那么您可以创建一个trait或model基类来重写model gettable()。
$model->gettable()如下所示。。。