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: [email protected]
>> 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.