почему торт php Framework не распознает истинный синтаксис в этом примере - PullRequest
0 голосов
/ 10 октября 2011

Почему PHP Framework не распознает истинный синтаксис в этом примере

  1. У пользователя много фотографий

  2. Фотографии принадлежат пользователю

В пользовательской модели

var $hasMany = array( 'Photo' => array( 'className' => 'Photo', 'foreignKey' => 'user_id' );

В фотомодели

var $belongsTo = array( 'user' => array( 'className' => 'User', 'foreignKey' => 'user_id', 'conditions' => '', 'fields' => '', 'order' => '' ), 'PhotoAlbum' => array( 'className' => 'PhotoAlbum', 'foreignKey' => 'photo_album_id', 'conditions' => '', 'fields' => '', 'order' => '', ))

в фотоконтроллере, в добавлении торта действия генерируйте этот код:

$this->Photo->User->find('all');

но истинный код:

$this->Photo->user->find('all');

означает, что пользовательское свойство должно быть в верхнем регистре, но торт не может распознать и выдать ложный код.

Ответы [ 3 ]

0 голосов
/ 11 октября 2011

Также - проблема не в торте.Проблема в том, что у вас есть var $ name = "user";в вашей пользовательской модели.

Назовите вашу модель с условностями тортов правильно, и этого не произойдет.Если вы не следуете соглашениям, вы сталкиваетесь с проблемами со средой.Правильное решение - прочитать руководство вместо того, чтобы публиковать вопросы с почти бесполезной отладочной информацией здесь @ SO.

0 голосов
/ 20 октября 2011

Я обнаружил, что когда возникает моя проблема, эта ошибка возникает, когда я использую ассоциацию в своем классе, и я использую имя в верхнем регистре для пользователя в моем коде модели

var $belongsTo = array( 'user' => array( 'className' => 'User', 'foreignKey' => user_id', 'conditions' => '', 'fields' => '', 'order' => '' ), 'PhotoAlbum' => array( 'className' => 'PhotoAlbum', 'foreignKey' => 'photo_album_id', 'conditions' => '', 'fields' => '', 'order' => '', ))

, но пользователь верен с Под орфографией ( Пользователь )

var $belongsTo = array( 'User' ...
0 голосов
/ 10 октября 2011

Попробуйте установить $ использует переменную.В вашем случае в photos_controller:

$var uses = array('User');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...