jonob/radiant

此软件包的最新版本(v1.1.1)没有可用的许可信息。

为 Laravel 4 的 Eloquent ORM 添加额外功能

v1.1.1 2013-05-23 22:26 UTC

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 现在使用保存事件在模型保存之前运行验证器。