Могу ли я использовать camelCase с Laravel 4 красноречивым?

У меня есть существующие данные в БД mysql, столбцы которой camelCased. Я не могу изменить их на змеиное дело.

например: когда я пытаюсь использовать "jobRole", я получаю"job_role". Я хочу, чтобы это был "jobRole".

есть ли настройка в laravel, чтобы поддержать это? Я читал о мутаторах, но не понимаю их. Это решение? Если да, то как мне это сделать?

3 ответов


обнаружил, что вы можете это сделать.

в модели переопределите "snakeAttributes" на "false" следующим образом:

class YourModel extends Eloquent{
    public static $snakeAttributes = false;
}

теперь вы можете. Я только что завершил пакет, который позволяет вам работать с атрибутами модели полностью в camelCase, если это необходимо.

https://github.com/kirkbushell/eloquence

установите пакет согласно нормальному:

composer require kirkbushell/eloquence ~1.0

затем Настройки-провайдеры:

'KirkBushell\Eloquence\EloquenceServiceProvider',

тогда все, что вам нужно сделать, это либо настроить Eloquent, чтобы указать на новый класс как часть ваших псевдонимов в приложения/конфигурации/приложения.на PHP:

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

это гарантирует, что библиотека в основном является заменой. Если вы хотите просто протестировать некоторые модели, вы можете просто расширить класс базовой модели Eloquence:

class MyModel extends \KirkBushell\Eloquence\Database\Model

Я построил этот класс в основном потому, что мне надоело видеть snake_case в наших приложениях javascript, но и в нашем серверном коде. Это гарантировало, что везде (передний и задний) имели дело с корпусом верблюда.


боюсь, вы не можете. Эта ошибка:https://github.com/laravel/laravel/issues/788 объясняет больше, но длинный и короткий из него заключается в том, что вам нужно, чтобы имена полей были строчными для работы моделей.