[fw-general] Zend_Db_Table_Row __get()

2007-03-19 Thread Aaron Egaas

Hello,

Prior to 0.9, I was using underscored field names in my MySQL database and
relying on Zend_Db's inflector to produce nice Camel-cased field names
within the Zend framework. Since 0.9 with the inflector gone, I switched my
field name in the database to camel case so I didn't have to refactor a lot
of code. Unforunately I think I found a bug when I did this.

All over my app I get exceptions saying the field (jobId for example) isn't
found! I dumped out the Db_Row and all the fieldnames have been lower cased.

I'm using MySQL's PDO. Anyone know whats causing my plight?

-Aaron Egaas


-- 
View this message in context: 
http://www.nabble.com/Zend_Db_Table_Row-__get%28%29-tf3428196s16154.html#a937
Sent from the Zend Framework mailing list archive at Nabble.com.



[fw-general] RE: Zend_Db_Table_Row __get()

2007-03-19 Thread Aaron Egaas

I tried this solution, modifiying /Zend/Db/Pdo/Abstract line 95:

// force names to lower case
$this-_connection-setAttribute(PDO::ATTR_CASE,
PDO::CASE_LOWER);

to

// force names to lower case
$this-_connection-setAttribute(PDO::ATTR_CASE,
PDO::CASE_NATURAL);


and now the app completely crashes with many notices like:


Notice: Undefined index: field in /../library/Zend/Db/Adapter/Pdo/Mysql.php
on line 139

Notice: Undefined index: field in /../library/Zend/Db/Adapter/Pdo/Mysql.php
on line 142

Notice: Undefined index: type in /../library/Zend/Db/Adapter/Pdo/Mysql.php
on line 144

Notice: Undefined index: default in
/../library/Zend/Db/Adapter/Pdo/Mysql.php on line 145

Notice: Undefined index: null in /../library/Zend/Db/Adapter/Pdo/Mysql.php
on line 146

Notice: Undefined index: key in /../library/Zend/Db/Adapter/Pdo/Mysql.php on
line 151

I looked it up and its the describeTable function within MySQL's extension
of the PDO. Any ideas?


Art Hundiak wrote:
 
 Basic problem is that the pdo adapter has:
 // force names to lower case
 $this-_connection-setAttribute(PDO::ATTR_CASE,
 PDO::CASE_LOWER);
 
 You will have to figure out how to change it to CASE_NATURAL.  Even then I
 suspect you might have trouble with case sensitivity.
 
 I myself rather liked the camel case conversion.  It being dropped is one
 of the reasons I gave up on Zend_Db.
 

 It appears that all column preparation has been removed on each row.

 0.8 Usage:

 CREATE TABLE `accounts` (
   `id` int(11) NOT NULL auto_increment,
   `date_entered` datetime default NULL,
   `date_modified` datetime default NULL,
   PRIMARY KEY  (`id`)
 ) ENGINE=InnoDB;

 foreach($this-account as $account)
 {
  echo $account-dateModified;
 }

 Current 0.9 Usage: (untested)

 foreach($this-account as $account)
 {
  echo $account-date_modified;
 }

 I never liked the camel-casing. I found it confusing. I like the 0.9
 usage
 better because I know exactly what to expect. The camel-casing limited
 system predictability. (This can of course be argued both ways).

 Bug? Feature?

 -Original Message-
 From: Aaron Egaas [mailto:[EMAIL PROTECTED]
 Sent: March 19, 2007 10:26 AM
 To: fw-general@lists.zend.com
 Subject: [fw-general] Zend_Db_Table_Row __get()


 Hello,

 Prior to 0.9, I was using underscored field names in my MySQL database
 and
 relying on Zend_Db's inflector to produce nice Camel-cased field names
 within the Zend framework. Since 0.9 with the inflector gone, I switched
 my
 field name in the database to camel case so I didn't have to refactor a
 lot
 of code. Unforunately I think I found a bug when I did this.

 All over my app I get exceptions saying the field (jobId for example)
 isn't
 found! I dumped out the Db_Row and all the fieldnames have been lower
 cased.

 I'm using MySQL's PDO. Anyone know whats causing my plight?

 -Aaron Egaas


 --
 View this message in context:
 http://www.nabble.com/Zend_Db_Table_Row-__get%28%29-tf3428196s16154.html#a95
 55537
 Sent from the Zend Framework mailing list archive at Nabble.com.




 
 
 
 

-- 
View this message in context: 
http://www.nabble.com/Zend_Db_Table_Row-__get%28%29-tf3428196s16154.html#a9556665
Sent from the Zend Framework mailing list archive at Nabble.com.