Hi lists reader :) i've a problem with creating sql statements with persistent objects of ezc.
The following Code: $ezcSession = ezcPersistentSessionInstance::get(); $query = $ezcSession->createFindQuery('Yela_Persistence_Core_Acl_Rules'); var_dump($query->getQuery());die(); results in this statement: string(133) "SELECT `yela_core_acl_rules`.`assert_id`, `yela_core_acl_rules`.`privileges`, `yela_core_acl_rules`.`type` FROM `yela_core_acl_rules`" But my table looks like this: CREATE TABLE `YelaCMS`.`yela_core_acl_rules` ( `rule_id` int(10) unsigned NOT NULL AUTO_INCREMENT, `group_id` int(10) unsigned NOT NULL, `resource_id` varchar(200) NOT NULL, `privileges` text NOT NULL, `assert_id` int(10) unsigned NOT NULL DEFAULT '0', `type` varchar(10) NOT NULL DEFAULT 'deny', PRIMARY KEY (`rule_id`) USING BTREE, KEY `fk1` (`resource_id`), KEY `fk2` (`group_id`), KEY `fk3` (`assert_id`), KEY `misc` (`type`) ) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8 There are some attributes missing in my statement. The definition file looks like this: $def = new ezcPersistentObjectDefinition(); $def->table = 'yela_core_acl_rules'; $def->class = 'Yela_Persistence_Core_Acl_Rules'; $def->idProperty = new ezcPersistentObjectIdProperty(); $def->idProperty->columnName = 'rule_id'; $def->idProperty->propertyName = 'rule_id'; $def->idProperty->generator = new ezcPersistentGeneratorDefinition( 'ezcPersistentSequenceGenerator' ); $def->idProperty->propertyType = ezcPersistentObjectProperty::PHP_TYPE_INT; $def->idProperty = new ezcPersistentObjectIdProperty(); $def->idProperty->columnName = 'group_id'; $def->idProperty->propertyName = 'group_id'; $def->idProperty->generator = new ezcPersistentGeneratorDefinition( 'ezcPersistentManualGenerator' ); $def->idProperty->propertyType = ezcPersistentObjectProperty::PHP_TYPE_INT; $def->idProperty = new ezcPersistentObjectIdProperty(); $def->idProperty->columnName = 'resource_id'; $def->idProperty->propertyName = 'resource_id'; $def->idProperty->generator = new ezcPersistentGeneratorDefinition( 'ezcPersistentManualGenerator' ); $def->idProperty->propertyType = ezcPersistentObjectProperty::PHP_TYPE_INT; $def->properties['privileges'] = new ezcPersistentObjectProperty(); $def->properties['privileges']->columnName = 'privileges'; $def->properties['privileges']->propertyName = 'privileges'; $def->properties['privileges']->propertyType = ezcPersistentObjectProperty::PHP_TYPE_STRING; $def->idProperty = new ezcPersistentObjectIdProperty(); $def->idProperty->columnName = 'assert_id'; $def->idProperty->propertyName = 'assert_id'; $def->idProperty->generator = new ezcPersistentGeneratorDefinition( 'ezcPersistentManualGenerator' ); $def->idProperty->propertyType = ezcPersistentObjectProperty::PHP_TYPE_INT; $def->properties['type'] = new ezcPersistentObjectProperty(); $def->properties['type']->columnName = 'type'; $def->properties['type']->propertyName = 'type'; $def->properties['type']->propertyType = ezcPersistentObjectProperty::PHP_TYPE_STRING; $def->relations['Yela_Persistence_Core_Resources'] = new ezcPersistentOneToManyRelation('yela_core_resources', 'yela_core_acl_rules'); $def->relations['Yela_Persistence_Core_Resources'] ->columnMap = array(new ezcPersistentSingleTableMap('resources_id', 'resource_id')); $def->relations['Yela_Persistence_Core_Acl_Groups'] = new ezcPersistentOneToManyRelation('yela_core_acl_groups', 'yela_core_acl_rules'); $def->relations['Yela_Persistence_Core_Acl_Groups'] ->columnMap = array(new ezcPersistentSingleTableMap('id', 'group_id')); $def->relations['Yela_Persistence_Core_Acl_Assertions'] = new ezcPersistentOneToManyRelation('yela_core_acl_assertions', 'yela_core_acl_rules'); $def->relations['Yela_Persistence_Core_Acl_Assertions'] ->columnMap = array(new ezcPersistentSingleTableMap('id', 'assert_id')); return $def; The following class represents the previous defined table: class Yela_Persistence_Core_Acl_Rules extends Yela_Db_Table { protected $_name = 'yela_core_acl_rules'; protected $_primary = 'rule_id'; public $rule_id = null; public $assert_id = null; public $group_id = null; public $privileges = '*'; public $resource_id = null; public $type = 'deny'; public function getState() { $result = array(); $result['rule_id'] = $this->rule_id; $result['group_id'] = $this->group_id; $result['resource_id'] = $this->resource_id; $result['privileges'] = $this->privileges; $result['assert_id'] = $this->assert_id; $result['type'] = $this->type; return $result; } } This may be a pebkac error but help will be useful :) Thank you. René -- Components mailing list Components@lists.ez.no http://lists.ez.no/mailman/listinfo/components