FuelPHP Bin
<?php // STUDENT MODEL class Model_Student extends \Orm\Model { protected static $_properties = array( 'id', 'course', 'user_id', 'created_at', 'updated_at', ); /** * @var array belongs_to relationships */ protected static $_belongs_to = array( 'user' => array( 'model_to' => 'Model_User', 'key_from' => 'user_id', 'key_to' => 'id', ), ); protected static $_observers = array( 'Orm\Observer_CreatedAt' => array( 'events' => array('before_insert'), 'mysql_timestamp' => false, ), 'Orm\Observer_UpdatedAt' => array( 'events' => array('before_save'), 'mysql_timestamp' => false, ), ); public static function validate($factory) { $val = Validation::forge($factory); $val->add_field('course', 'Course', 'required|max_length[50]'); $val->add_field('user_id', 'User_id', 'required|valid_string[numeric]'); return $val; } } // USER MODEL class Model_User extends \Orm\Model { protected static $_properties = array( 'id', 'username', 'password', 'firstname', 'middlename', 'lastname', 'phone_number', 'group', 'email', 'created_at', 'updated_at', ); /** * @var array has_one relationships */ protected static $_has_one = array( 'student' => array( 'model_to' => 'Model_Student', 'key_from' => 'id', 'key_to' => 'user_id', 'cascade_delete' => true, ), ); // public function get_full_name () { // return $this->'firstname' . ' ' . $this->'lastname'; // static::method_exists(object, method_name()); // } protected static $_observers = array( 'Orm\Observer_CreatedAt' => array( 'events' => array('before_insert'), 'mysql_timestamp' => false, ), 'Orm\Observer_UpdatedAt' => array( 'events' => array('before_save'), 'mysql_timestamp' => false, ), ); public static function validate($factory) { $val = Validation::forge($factory); $val->add_field('username', 'Username', 'required|max_length[50]'); $val->add_field('password', 'Password', 'required|max_length[255]'); $val->add_field('firstname', 'Firstname', 'required|max_length[50]'); $val->add_field('middlename', 'Middlename', 'required|max_length[255]'); $val->add_field('lastname', 'Lastname', 'required|max_length[255]'); $val->add_field('phone_number', 'Phone Number', 'required|valid_string[numeric]'); $val->add_field('group', 'Group', 'required|valid_string[numeric]'); $val->add_field('email', 'Email', 'required|valid_email|max_length[255]'); $val->add_field('course', 'Course', 'required|max_length[50]'); $val->add_field('user_id', 'User_id', 'required|valid_string[numeric]') = 'id'; return $val; }