Closed AlbinoGeek closed 11 years ago
ORM or Crud models?
Erm, whatever is generated using: oil generate scaffold users email:string password:string displayname:string
or similar command. Model file (after some modifications) listed below:
<?php
use Orm\Model;
class Model_User extends Model
{
protected static $_properties = array(
'id',
'email',
'password',
'displayname',
'created_at',
'updated_at',
);
protected static $_observers = array( // this do not fire
'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('email', 'Email Address', 'required|valid_email|max_length[255]');
$val->add_field('password', 'Password', 'required|max_length[255]');
$val->add_field('displayname', 'Display Name', 'required|max_length[32]');
return $val;
}
}
Weird, this looks fine to me. Checked a model in a working application, which contains
/**
* @var array defined observers
*/
protected static $_observers = array(
'Orm\\Observer_CreatedAt' => array(
'events' => array('before_insert'),
'property' => 'created_at',
'mysql_timestamp' => false
),
'Orm\\Observer_UpdatedAt' => array(
'events' => array('before_update'),
'property' => 'updated_at',
'mysql_timestamp' => false
),
'Orm\\Observer_Typing' => array(
'events' => array('after_load', 'before_save', 'after_save')
),
);
These list the property name, but as 'updated_at' and 'created_at' are default values, it should work fine without them too.
More info on this one?
There was an issue related to the UpdatedAt observer, which was fixed recently (so it did fire, but it didn't do anything), but CreatedAt should be fine.
I can no longer reproduce this issue, it seems to have been fixed.
System: Windows Server 2008 R2 Apache 2.4.2 (64bit) PHP: 5.4.15 (mod_php5) + xDebug MySQL: 5.5 GA
Observers generated using
oil generate scaffold ...
are not firing (createdAt updatedAt)