Hmmm... I removed the Conference association and it's still not working.
I've decided to give up on that bit and just put the function into the
controller for now, and that seems to be working fine.
Thanks for the help though.
On Thursday, 2 August 2012 12:44:07 UTC+1, majna wrote:
>
> Yeah, changing order affects only 1.3 apps as 2.x models are lazy loaded.
> I tested that code you pasted and Confcommittee::myFunction() (without
> belongsTo association to Conference) works just fine.
>
> What code do you have in AppController::beforeFilter()?
>
> On Thursday, August 2, 2012 12:13:37 PM UTC+2, WhyNotSmile wrote:
>>
>> Hi manja, thanks for your help, but it's not inside a plugin, and
>> changing the order didn't make any difference.
>>
>>
>>
>> On Wednesday, 1 August 2012 21:41:12 UTC+1, majna wrote:
>>>
>>> If it's not the plugin issue, then Conference model is associated with
>>> Confcommittee with wrong 'class' name.
>>> You can test that if you change order in $uses:
>>> public $uses = array('Confcommittee', 'Conference');
>>>
>>> On Wednesday, August 1, 2012 10:35:12 PM UTC+2, majna wrote:
>>>>
>>>> Is this code inside a plugin?
>>>>
>>>> 2012/8/1 WhyNotSmile
>>>>
>>>>> Thanks for the help, but it hasn't made any difference. I'm totally
>>>>> baffled, because I've used the same code in other places with different
>>>>> model names, and it seems fine... I must have just missed something on
>>>>> copying it.
>>>>>
>>>>>
>>>>>
>>>>> On Wednesday, 1 August 2012 20:58:42 UTC+1, majna wrote:
>>>>>>
>>>>>> Model Confcommittee is not found, so Cake creates an instance of
>>>>>> AppModel.
>>>>>> You are using $uses property, so try to add in
>>>>>> Model/Confcommittee.php:
>>>>>>
>>>>>> App::uses('Confcommittee ', 'Model');
>>>>>>
>>>>>> class Confcommittee extends AppModel { ...
>>>>>>
>>>>>> Btw, you don't need to call exit() after redirect() in that
>>>>>> controller.
>>>>>>
>>>>>>
>>>>>> On Wednesday, August 1, 2012 5:44:18 PM UTC+2, WhyNotSmile wrote:
>>>>>>>
>>>>>>> I'm using Cake 2.0, and getting a database error when I call a
>>>>>>> particular model. I think I've probably named something wrongly, but I
>>>>>>> can't see what!
>>>>>>>
>>>>>>> I have the following:
>>>>>>>
>>>>>>> *DB table:* confcommittees
>>>>>>>
>>>>>>> *Model/Confcommittee.php:*
>>>>>>>
>>>>>>>> class Confcommittee extends AppModel {
>>>>>>>> public $name = 'Confcommittee';
>>>>>>>>
>>>>>>>> var $belongsTo = array('Conference');
>>>>>>>>
>>>>>>>> public function myFunction() {
>>>>>>>> return false;
>>>>>>>> }
>>>>>>>> }
>>>>>>>
>>>>>>>
>>>>>>> *Controller/ConferencesController.php:*
>>>>>>>
>>>>>>>> App::uses('AppController', 'Controller');
>>>>>>>>
>>>>>>>> class ConferencesController extends AppController {
>>>>>>>> public $name = 'Conferences';
>>>>>>>> public $helpers = array('Html', 'Session');
>>>>>>>> public $uses = array('Conference', 'Confcommittee');
>>>>>>>>
>>>>>>>> /* Filters and callbacks */
>>>>>>>> function beforeFilter() {
>>>>>>>> parent::beforeFilter();
>>>>>>>> }
>>>>>>>> /*
>>>>>>>> * admin_manage
>>>>>>>> * Allows the admin user to manage any given conference
>>>>>>>> */
>>>>>>>> function admin_manage($conference_id = null) {
>>>>>>>> if(!$conference_id) {
>>>>>>>> $this->redirect('/admin/**conferences/main');
>>>>>>>> exit;
>>>>>>>> }
>>>>>>>> $this->Confcommittee->**myFunction();
>>>>>>>> }
>>>>>>>> }
>>>>>>>>
>>>>>>>> When I access admin/conferences/manage, I get the following error:
>>>>>>>
>>>>>>>> Database Error
>>>>>>>> *Error: *SQLSTATE[42000]: Syntax error or access violation: 1064
>>>>>>>> You have an error in your SQL syntax; check the manual that
>>>>>>>> corresponds to
>>>>>>>> your MySQL server version for the right syntax to use near
>>>>>>>> 'myFunction' at
>>>>>>>> line 1
>>>>>>>> *SQL Query: *myFunction
>>>>>>>> *Notice: *If you want to customize this error message, create
>>>>>>>> app\View\Errors\pdo_error.ctp
>>>>>>>> Stack Trace
>>>>>>>>
>>>>>>>> - CORE\Cake\Model\Datasource\**DboSource.php line
>>>>>>>> 437<http://localhost/IAAD_New/admin/conferences/manage/1#>
>>>>>>>> →
>>>>>>>> PDOStatement->execute(**array)<http://localhost/IAAD_New/admin/conferences/manage/1#>
>>>>>>>>
>>>>>>>>
>>>>>>>> - CORE\Cake\Model\Datasource\**DboSource.php line
>>>>>>>> 403<http://localhost/IAAD_New/admin/conferences/manage/1#>
>>>>>>>> → DboSource->_execute(string,
>>>>>>>> array)<http://localhost/IAAD_New/admin/conferences/manage/1#>
>>>>>>>>
>>>>>>>>
>>>>>>>> - CORE\Cake\Model\Datasource\**DboSource.php line
>>>>>>>> 647<http://localhost/IAAD_New/admin/conferences/manage/1#>
>>>>>>>> → DboSource->execute(string, array,
>>>>>>>> array)<http://localhost/IAAD_New/admin/conferences/manage/1#>
>>>>>>>>
>>>>>>>>
>>>>>>>> - CORE\Cake\Model\Datasource\**DboSource.php line
>>>>>>>> 589<http://localhost/IAAD_New/admin/conferences/manage/1#>
>>>>>>>> → DboSource->fetchAll(string, array,
>>>>>>>> array)<http://localhost/IAAD_New/admin/conferences/manage/1#>
>>>>>>>>
>>>>>>>>
>>>>>>>> - CORE\Cake\Model\Model.php line
>>>>>>>> 775<http://localhost/IAAD_New/admin/conferences/manage/1#>
>>>>>>>> → DboSource->query(string, array,
>>>>>>>> AppModel)<http://localhost/IAAD_New/admin/conferences/manage/1#>
>>>>>>>>
>>>>>>>>
>>>>>>>> - APP\Controller\**ConferencesController.php line
>>>>>>>> 96<http://localhost/IAAD_New/admin/conferences/manage/1#>
>>>>>>>> → Model->__call(string,
>>>>>>>> array)<http://localhost/IAAD_New/admin/conferences/manage/1#>
>>>>>>>>
>>>>>>>>
>>>>>>>> - APP\Controller\**ConferencesController.php line
>>>>>>>> 96<http://localhost/IAAD_New/admin/conferences/manage/1#>
>>>>>>>> →
>>>>>>>> AppModel->myFunction()<http://localhost/IAAD_New/admin/conferences/manage/1#>
>>>>>>>>
>>>>>>>>
>>>>>>>> - [internal
>>>>>>>> function]<http://localhost/IAAD_New/admin/conferences/manage/1#>
>>>>>>>> →
>>>>>>>> ConferencesController->**admin_manage(string)<http://localhost/IAAD_New/admin/conferences/manage/1#>
>>>>>>>>
>>>>>>>>
>>>>>>>> - CORE\Cake\Controller\**Controller.php line
>>>>>>>> 485<http://localhost/IAAD_New/admin/conferences/manage/1#>
>>>>>>>> → ReflectionMethod->**invokeArgs(**ConferencesController,
>>>>>>>> array) <http://localhost/IAAD_New/admin/conferences/manage/1#>
>>>>>>>>
>>>>>>>>
>>>>>>>> - CORE\Cake\Routing\Dispatcher.**php line
>>>>>>>> 103<http://localhost/IAAD_New/admin/conferences/manage/1#>
>>>>>>>> →
>>>>>>>> Controller->invokeAction(**CakeRequest)<http://localhost/IAAD_New/admin/conferences/manage/1#>
>>>>>>>>
>>>>>>>>
>>>>>>>> - CORE\Cake\Routing\Dispatcher.**php line
>>>>>>>> 85<http://localhost/IAAD_New/admin/conferences/manage/1#>
>>>>>>>> → Dispatcher->_invoke(**ConferencesController, CakeRequest,
>>>>>>>> CakeResponse)<http://localhost/IAAD_New/admin/conferences/manage/1#>
>>>>>>>>
>>>>>>>>
>>>>>>>> - APP\webroot\index.php line
>>>>>>>> 92<http://localhost/IAAD_New/admin/conferences/manage/1#>
>>>>>>>> → Dispatcher->dispatch(**CakeRequest,
>>>>>>>> CakeResponse)<http://localhost/IAAD_New/admin/conferences/manage/1#>
>>>>>>>>
>>>>>>>>
>>>>>>> As I said, I think I've given something the wrong name, but I can't
>>>>>>> find it. Can anyone help?!
>>>>>>>
>>>>>> --
>>>>> Our newest site for the community: CakePHP Video Tutorials
>>>>> http://tv.cakephp.org
>>>>> Check out the new CakePHP Questions site http://ask.cakephp.org and
>>>>> help others with their CakePHP related questions.
>>>>>
>>>>>
>>>>> To unsubscribe from this group, send email to
>>>>> [email protected] For more options, visit this
>>>>> group at http://groups.google.com/group/cake-php
>>>>>
>>>>
>>>>
--
Our newest site for the community: CakePHP Video Tutorials
http://tv.cakephp.org
Check out the new CakePHP Questions site http://ask.cakephp.org and help others
with their CakePHP related questions.
To unsubscribe from this group, send email to
[email protected] For more options, visit this group at
http://groups.google.com/group/cake-php