Могу ли я использовать 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 объясняет больше, но длинный и короткий из него заключается в том, что вам нужно, чтобы имена полей были строчными для работы моделей.