Figured it out, with the help of a sharper pair of eyes than mine. It
turns out that the original code did in fact come from a web page -
the CakePHP manual (I copied, pasted, and edited the table name and
other code). When I pasted into my text editor, I didn't notice that
the quote marks were not the regular single quotes. All is good now.

Thanks,
Clark-

On Jan 16, 7:45 am, clarkphp <[email protected]> wrote:
> Hello Martin,
> Thanks for your reply.  My files are all UTF-8.  And, no - never touch
> MS Word - pasted in from browser.  Running Linux on dev and production
> boxes.
> I also looked at Firefox View Source.  The leading mysterious quote
> mark is the upward curving opening quote, and the trailing one is the
> downward curving closing quote mark - I'm looking for the character
> numbers.  My source file is using the regular single quote found on
> the keyboard (not the backtick).
>
> See how these characters are inserted inside my vanilla-flavored
> single-quoted string containing the model name, which the inflector is
> converting to a table name?  All references to the model name in my
> source files are using the regular single quote character.  It appears
> that the undesired characters are being inserted before and after the
> contents of that string by Cake.  I've traced with a debugger to find
> where the transformation is happening, but am only close to it;
> haven't nailed it yet.
>
> One thing I've found is that with PHP error_reporting set high enough,
> Cake generates a fair number of E_NOTICES regarding undefined
> constants - the ticket system shows these being fixed on a case-by-
> case basis. I think those errors are not necessarily related to this
> problem.
>
> Thanks again.  Does this generate any ideas from you or other readers?
> - Clark
>
> On Jan 16, 2:30 am, Martin Westin <[email protected]> wrote:
>
> > Hi Clark,
> > Looks to me like the thing you are missing is the small problem your
> > source-file has with its quotes.
>
> > Use of undefined constant â Organizationâ
> > This suggests that your modelname is not in fact enclosed by single
> > quotes but some other glyph that looks like it but really has another
> > ASCII code. You may have pasted the line of code from a browser or
> > (god forbid) Word and got the strange character in your file that way.
> > If the quotes are not "real" quotes then PHP will interpret this as
> > you trying to use a constant.
>
> > While you are at it make sure the charset of the php file is not
> > something strange.
>
> > /Martin
>
> > On Jan 16, 12:35 am, clarkphp <[email protected]> wrote:
>
> > > Check out the extra quotes in the model name in the WHERE clause
> > > below:
>
> > > SELECT `Organization`.`name`, `Organization`.`description` FROM
> > > `organizations` AS `Organization`   WHERE `‘Organization’`.`status` =
> > > 'inactive'   ORDER BY `Organization`.`name` asc
>
> > > I've used SimpleTest before, but am now beginning to use it in the
> > > context of CakePHP's testing framework.  All test cases that involving
> > > a model are failing because the model names are getting enclosed with
> > > single quotes, which produces table names in database queries that of
> > > course don't exist.  For example:
>
> > > App::import('Model', 'Organization');
>
> > > class OrganizationTestCase extends CakeTestCase
> > > {
> > >     public $useTable = 'organizations';
> > >     public $fixtures = array('app.organization');
>
> > >     public function testInactive()
> > >     {
> > >         $this->Organization = ClassRegistry::init('Organization');
>
> > >         $result = $this->Organization->inactive(array('name',
> > > 'description'));
> > >         $expected = array(
> > >            array('Organization' => array('name' => 'Test Company
> > > Name', 'description'    => 'Mortgages'))
> > >         );
> > >         $this->assertEqual($result, $expected);
> > >     }
>
> > > }
>
> > > results in a failed assertion and two E_NOTICES.
>
> > > The failed assertion:
> > > Equal expectation fails as [Boolean: false] does not match [Array: 1
> > > items] at [/usr/local/apache2/vhosts/dev-obfuscated.com/app/tests/
> > > cases/models/organization.test.php line 19]
>
> > > The Errors:
> > > Unexpected PHP error [Use of undefined constant â Organizationâ -
> > > assumed 'â Organizationâ '] severity [E_NOTICE] in [/usr/local/
> > > apache2/vhosts/dev-obfuscated.com/cake/libs/class_registry.php line
> > > 134]
>
> > > Unexpected PHP error [<span style = "color:Red;text-align:left"><b>SQL
> > > Error:</b> 1054: Unknown column 'Ã¢â ¬Ë Organizationâ⠬⠢.status'
> > > in 'where clause'</span>] severity [E_USER_WARNING] in [/usr/local/
> > > apache2/vhosts/dev-obfuscated.com/cake/libs/model/datasources/
> > > dbo_source.php line 514]
>
> > > The use (or lack of) $useTable in the app/models or tests/cases/models
> > > code makes little difference. If I leave out the $useTable statement,
> > > the inflector creates this table name: 'organization's generating this
> > > message:
> > > Error:  Database table ‘organization’s for model Organization was not
> > > found.
>
> > > What obvious thing am I missing here?
> > > Thanks!
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"CakePHP" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/cake-php?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to