【发布时间】:2017-01-07 09:41:14
【问题描述】:
Artisan 生成器似乎过于复杂,它生成一个从 Model 类扩展而来的类!!!
有什么方法可以自动生成流明模型中的模型验证规则(基于mysql表的列定义)?
列名呢?
【问题讨论】:
-
亲爱的投票者,我很抱歉我的无畏,按照常识,模型生成应该处理一些基本功能,如验证!
Artisan 生成器似乎过于复杂,它生成一个从 Model 类扩展而来的类!!!
有什么方法可以自动生成流明模型中的模型验证规则(基于mysql表的列定义)?
列名呢?
【问题讨论】:
laravel 或 lumen 中没有内置这样的命令。
我找到了一个提供这样一个命令的包(在一个名为 google 的网站上):https://github.com/jijoel/validation-rule-generator
它已锁定为照亮/支持 4.0.x,因此不适用于当前版本的 laravel。如果你有很多模型,可能值得 fork,在 composer.json 中修改版本,看看它是否有效。
【讨论】:
我是 lumen-generators 的作者,Lumen 和 Laravel 5 的生成器集合。
这个包包含一个Model Generator,它支持生成验证规则。
通过运行以下命令将生成器包添加到您的 composer.json:
composer require wn/lumen-generators
然后在文件app/Providers/AppServiceProvider.php 中添加服务提供者,如下所示:
public function register()
{
if ($this->app->environment() == 'local') {
$this->app->register('Wn\Generators\CommandsServiceProvider');
}
}
如果您使用 Lumen,请不要忘记在您的 bootstrap/app.php 中包含应用程序服务提供商并启用 Eloquent 和 Facades
如果您运行命令php artisan list,您将看到添加的命令列表:
wn:controller Generates RESTful controller using the RESTActions trait
wn:controller:rest-actions Generates REST actions trait to use into controllers
wn:migration Generates a migration to create a table with schema
wn:model Generates a model class for a RESTfull resource
wn:pivot-table Generates creation migration for a pivot table
wn:resource Generates a model, migration, controller and routes for RESTful resource
wn:resources Generates multiple resources from a file
wn:route Generates RESTful routes.
运行以下命令:
php artisan wn:model TestingModel --rules="name=required age=integer|min:13 email=email|unique:users,email_address"
将生成包含以下规则的模型:
public static $rules = [
"name" => "required",
"age" => "integer|min:13",
"email" => "email|unique:users,email_address",
];
详情请咨询Full README。
希望这会有所帮助:)
【讨论】: