Example #1
0
File: user.php Project: taq/torm
    public function afterInitialize()
    {
        if (is_null($this->name)) {
            $this->name = "Unnamed User";
        }
    }
}
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) {
Example #2
0
 public function testQWithManyThruPostQuery()
 {
     $user = new User();
     $user->resetAssociationDescription('groups');
     $user->hasMany('groups', array('thru' => 'member', 'default_strategy' => 'Pfw_Associate_PostQuery'));
     $user->first_name = 'sean';
     $user->save();
     $group = new Group();
     $group->name = "Sean's Group";
     $group->save();
     $user->associateWith($group);
     $users = User::Q()->with('groups')->exec();
     $this->assertEquals("Sean's Group", $users[0]->groups[0]->name);
     $this->assertEquals($users[0]->id, $users[0]->groups[0]->member->user_id);
     $this->assertEquals('sean', $users[0]->first_name);
     $this->assertTrue(is_a($users[0]->groups[0]->member, 'Pfw_Model_Thru'));
     $u = new User($user->id);
     $u->retrieve();
     $groups = $u->groups;
     $this->assertEquals("Sean's Group", $u->groups[0]->name);
     $this->assertEquals($users[0]->id, $u->groups[0]->member->user_id);
 }