Разрыв Отношения Аннотации Вопрос - PullRequest
0 голосов
/ 12 ноября 2011

Я столкнулся с серьезной проблемой. На самом деле, я не совсем понимаю соглашение о присвоении имен для отношений. Я лично думаю, что это должно быть более задокументировано с конкретными примерами. Надеюсь, если я пойму это, я смогу начать писать некоторые примеры. Также, если кто-то хорошо понимает соглашение об отношениях с Перерывом, в случае, если он сможет объяснить это здесь, было бы здорово

У меня две таблицы, все имена таблиц в базе данных являются строчными буквами названий моделей. Все имена полей совпадают с атрибутами моделей Сообщение ----> Комментарий (Сообщение может иметь несколько комментариев)

Модель Сообщение:

<?php
/**
 * !Database Default
 * !Table post
 * !HasMany comment, Class:try.models.Comment,Key:postId
 */
class Post extends Model 
{
        /** !Column PrimaryKey, Integer, AutoIncrement */
        public $postId;

        /** !Column String */
        public $name;

}
?>

Комментарий модели:

<?php
/**
 * !Database Default
 * !Table comment
 * !BelongsTo post
 */
class Comment extends Model {
        /** !Column PrimaryKey, Integer, AutoIncrement */
        public $commentId;

        /** !Column String */
        public $name;

}
?>

Однако, когда я делаю следующее, я получаю сообщение об ошибке

<?php
Library::import('try.models.Post');
Library::import('try.models.Comment');

Library::import('recess.framework.controllers.Controller');

/**

 * !RespondsWith Layouts

 * !Prefix Views: home/, Routes: /

 */

class TryHomeController extends Controller {



        /** !Route GET */

        function index() 
        {               

                $this->flash = 'Welcome to your new Recess application!';

                $Post= new Post(5);
                $Comments=$Post->comment();
        }



}

?>

Однако я получаю эту ошибку

try.models.Comment не был импортирован.

1 Ответ

1 голос
/ 16 ноября 2011

Посмотрите в своей модели Post на линии класса

**
* !Database Default
* !Table post
* !HasMany comment, **Class:try.models.Comment**,Key:postId
*/

Здесь вы включаете полный путь к классу, try.models.Comment . Вам нужно только указать Комментарий в качестве класса для включения. Убедитесь, что имена ваших файлов соответствуют соглашению ClassName.class.php.

...