#php #laravel #database #api
Вопрос:
Я работаю с несколькими контроллерами, где я получаю входные данные в формате camel case, и мне нужно присвоить эти свойства модели:
$scopeCommercial = new ScopeCommercial();
$scopeCommercial->lifetime_sales = $request->lifetimeSales;
$scopeCommercial->lifetime_volumes = $request->lifetimeVolumes;
Проблема в том, что моя модель имеет около 30 свойств, и я не хочу записывать их по одному.
Я знаю, что могу использовать запрос для получения всех свойств:
$input = $request->all();
Есть ли способ преобразовать соответствие свойств в формате camel case в стандартный эквивалент базы данных? Что-то вроде обратного метода camel:
$converted = Str::camel('foo_bar');
Ответ №1:
Использование
$converted = Str::snake('fooBar', '_');
подробнее https://laravel.com/docs/8.x/helpers#method-snake-case