jgraffite/snake2camel

一个用于在 snakeCase 和 camelCase 之间获取和设置模型字段的 Laravel 框架包

2.1.0 2022-11-30 00:58 UTC

This package is auto-updated.

Last update: 2024-09-29 03:47:01 UTC


README

Latest Version on Packagist Software License

一个能够通过 camelCase 获取和设置 Laravel 框架模型字段的 snakeCase 包

--

用于 Laravel 框架的包,允许设置和获取 snakeCase 模型字段

安装

通过 Composer

要安装此包,您只需运行此命令

$ composer require jgraffite/snake2camel
  • 如果您使用的是 Laravel 5.4 或更早版本
$ composer require jgraffite/snake2camel:1.0-dev

那么,您需要在 Laravel 配置文件 app.php 中添加该包的提供者,如下所示

/*
 * Package Service Providers...
 */
 [...]
 Jgraffite\Snake2camel\Snake2camelServiceProvider::class,

使用方法

如果您使用 Laravel 命令行创建模型,您将得到类似以下内容

<?php
namespace App;

use Illuminate\Auth\Authenticatable;
use Illuminate\Database\Eloquent\Model;

class SomeModel extends Model
{
...
}

简单地,删除 "use Illuminate\Database\Eloquent\Model;" 这一行,并将 "extends Model" 替换为 "extends \Model",如下所示

<?php
namespace App;

use Illuminate\Auth\Authenticatable;

class SomeModel extends \Model
{
...
}

现在,您就可以使用包中的函数了,例如

要设置一个模型字段,其在数据库表中的实际名称为 "some_column"

<?php

$modelObject = new SomeModel;
$modelObject->someColumn = "any value";
$modelObject->save();

----

$item = SomeModel::find(1, ['someColumn']); #Get a model and retrieve only one specific column
echo $item->someColumn . PHP_EOL;
echo $item->some_column; #This will print the same of the above code

您还可以使用一个特殊函数来创建带有 FULL TEXT 的 "where 条件"。看看如何做

<?php
$item = Somemodel::whereFullTextMatch(['column1','column2'], 'query words')->get();

安全

如果您发现任何安全问题,请通过电子邮件发送到 jorge@macrobol.com,而不是使用问题跟踪器。

许可证

MIT 许可证(MIT)。有关更多信息,请参阅 许可证文件