Example #1
0
File: user.php Project: taq/torm
}
User::setOrder("name");
User::validates("name", array("presence" => true));
User::validates("name", array("format" => "^[\\p{L},]{2,} [\\p{L}\\s\\.]{2,}"));
User::validates("email", array("presence" => true));
User::validates("email", array("format" => "^[_a-z0-9-]+(\\.[_a-z0-9-]+)*@[a-z0-9-]+(\\.[a-z0-9-]+)*(\\.[a-z]{2,4})\$"));
User::validates("email", array("uniqueness" => true, "allow_null" => true, "allow_blank" => true));
User::validates("user_level", array("numericality" => true));
User::validates("code", array("format" => "^[0-9]{5}\$", "allow_null" => true));
User::hasMany("tickets", array("class_name" => "Ticket"));
User::hasOne("account");
User::beforeSave("before_save");
User::beforeSave("strip_invalid");
User::afterSave("after_save");
User::beforeDestroy("before_destroy");
User::afterDestroy("after_destroy");
User::beforeCreate("before_create");
User::afterCreate("after_create");
User::beforeUpdate("before_update");
User::afterUpdate("after_update");
User::scope("first_level", array("user_level" => 1));
User::scope("by_level", function ($args) {
    return "user_level=" . $args[0];
});
User::scope("by_level_and_date", function ($args) {
    return "user_level=" . $args[0] . " and created_at<'" . $args[1] . " 23:59:59'";
});
User::scope("doe", "email like '%doe.com'");
User::scope("email_first", function ($args) {
    return "email like '" . $args[0] . "%'";
});