6

我在 mysql 数据库中有现有数据,其列是驼峰式。我不能把它们改成蛇盒。

例如:当我尝试使用“jobRole”时,我得到了“job_role”。我希望它是“jobRole”。

laravel 中是否有支持这一点的设置?我读过关于突变体的文章,但不理解它们。那是解决方案吗?如果是这样,我该怎么做?

4

3 回答 3

18

发现你可以做到这一点。

在模型中,将“snakeAttributes”重新定义为“false”,如下所示:

class YourModel extends Eloquent{
    public static $snakeAttributes = false;
}
于 2013-09-03T13:58:55.590 回答
1

你现在可以。如果需要,我刚刚完成了一个包,它允许您完全在 camelCase 中使用模型属性。

https://github.com/kirkbushell/eloquence

正常安装包:

composer require kirkbushell/eloquence ~1.0

然后设置您的服务提供商:

'KirkBushell\Eloquence\EloquenceServiceProvider',

然后你需要做的就是设置 Eloquent 指向新类,作为你在 application/config/app.php 中别名的一部分:

'Eloquent' => 'KirkBushell\Eloquence\Database\Model',

这确保了该库基本上是一个替代品。如果你只想测试一些模型,你可以简单地扩展 Eloquence 基础模型类:

class MyModel extends \KirkBushell\Eloquence\Database\Model

我构建这个类主要是因为我厌倦了在我们的 javascript 应用程序中看到snake_case,而且在我们的服务器端代码中也看到了。这确保了所有地方(前端和后端)都在处理骆驼肠衣。

于 2014-04-23T20:00:50.490 回答
0

你不能,我害怕。这个错误:https ://github.com/laravel/laravel/issues/788解释了更多,但总而言之,您需要字段名称全部小写才能使模型工作。

于 2013-09-03T08:29:28.480 回答