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.

Reply via email to