jonob / radiant
为 Laravel 4 的 Eloquent ORM 添加额外功能
Requires
- php: >=5.3.0
This package is not auto-updated.
Last update: 2024-09-14 13:38:43 UTC
README
Laravel 的 Eloquent Orm 的自验证模型
注意: 此软件包深受 Laravel 3 的 Aware bundle 的影响。https://github.com/crabideau5691/Radiant
安装
Composer
将 "jonob/radiant": "dev-master" 添加到您的 composer.json 文件的 require 部分
"require": {
"jonob/radiant": "dev-master"
},
现在运行 composer update。
Laravel
将以下代码添加到 app/config/app.php 文件的 aliases 部分
'Radiant' => 'Jonob\Radiant\Radiant',
使其看起来如下
'aliases' => array( ... 'Radiant' => 'Jonob\Radiant\Radiant', ... ),
指南
基本
Radiant 扩展了 Eloquent 模型。
要创建一个新的 Radiant 模型,而不是扩展 Eloquent 类,只需扩展 Radiant 类
class User extends Radiant {}
验证
Radiant 模型使用 Laravel 内置的验证。为模型定义验证规则很简单
class User extends Radiant { /** * Radiant validation rules */ protected $rules = array( 'name' => 'required', 'email' => 'required|email' ); }
Radiant 模型在调用 Radiant->save() 时自动验证。
$user = new User(); $user->name = 'John'; $user->email = 'john@doe.com'; $user->save(); // returns false if model is invalid
注意: 您还可以在需要时使用 Radiant->valid() 方法验证模型。
获取错误
当 Radiant 模型验证失败时,一个 Illuminate\Messages 对象会被附加到 Radiant 对象上。
使用 $user->getErrors() 获取所有错误。
验证消息
如果您愿意,您还可以在模型中设置自定义错误消息。
protected $messages = array( 'user.required' => 'Please complete the User field.', );
回调
注意: 已完全从 Radiant 中移除回调。这是因为 Laravel 的事件更加灵活和强大。我强烈建议您根据需要挂钩到保存、已保存、创建、已创建、更新、已更新、删除和已删除事件。
实际上,Radiant 现在使用保存事件在模型保存之前运行验证器。