New

Just launched: Vueblocks, a brand-new search engine for Vue packages! Explore Vueblocks →

jonob/radiant

Adds extra functionality to Laravel 4's Eloquent ORM
774 7
Install
composer require jonob/radiant
Latest Version:v1.1.1
PHP:>=5.3.0
Last Updated:Jul 14, 2013
Links: GitHub  ·  Packagist
Maintainer: JonoB

Radiant

Self validating models for Laravel's Eloquent Orm

Note: This package is heavily influenced by the Aware bundle for Laravel 3. https://github.com/crabideau5691/Radiant

Installation

Composer

Add "jonob/radiant": "dev-master" to the require section of your composer.json:

"require": {
	"jonob/radiant": "dev-master"
},

Now run composer update.

Laravel

Add the following code to the aliases section of the app/config/app.php file

'Radiant' => 'Jonob\Radiant\Radiant',

so that it looks something like the following:

'aliases' => array(
	...
	'Radiant'       => 'Jonob\Radiant\Radiant',
	...
),

Guide

Basic

Radiant extends the Eloquent model.

To create a new Radiant model, instead of extending the Eloquent class, simply extend the Radiant class:

class User extends Radiant {}

Validation

Radiant models use Laravel's built-in Validation. Defining validation rules for a model is simple:

class User extends Radiant {

  /**
   * Radiant validation rules
   */
  protected $rules = array(
    'name' => 'required',
    'email' => 'required|email'
  );
}

Radiant models validate themselves automatically when Radiant->save() is called.

$user = new User();
$user->name = 'John';
$user->email = 'john@doe.com';
$user->save(); // returns false if model is invalid

note: You also can validate a model at any time using the Radiant->valid() method.

Retrieving Errors

When a Radiant model fails validation, an Illuminate\Messages object is attached to the Radiant object.

Retrieve all errors with $user->getErrors().

Validation Messages

You can also set custom error messages in the model if you wish.

protected $messages = array(
	'user.required' => 'Please complete the User field.',
);

Callbacks

Note the callbacks have been completely removed from Radiant. This is because Laravel's Events are far more flexible and powerful. I highly recommend that you hook into the saving, saved, creating, created, updating, updated, deleting and deleted events as needed.

In fact, Radiant now uses the saving event to run the validator prior to the model being saved.

Related Packages

sofa/hookable

Laravel Eloquent hooks system.

2,049,184 65
volosyuk/simple-eloquent

Adaptation of eloquent for retrieving its attributes

117,433 55
gzero/eloquent-tree

Eloquent Tree is a tree model for Laravel Eloquent ORM.

59,480 131
martinbean/laravel-sluggable-trait

A trait you can apply to Eloquent models to have slugs automatically generated o...

49,105 24
isswp101/elasticsearch-eloquent

Elasticsearch functionality like Laravel Eloquent models.

25,356 112

Version History

Version Released PHP Laravel License
v1.1.1 >=5.3.0
v1.1.0 >=5.3.0 >=1.0.0
v1.0.3 >=5.3.0 >=1.0.0
v1.0.2 >=5.3.0 >=1.0.0
v1.0.1 >=5.3.0 >=1.0.0