0

Code Igniter に HMVC 拡張機能を持つ既存のプロジェクトがあります。また、sparc を介して php-activerecord を使用します。

新しいモジュールの場合、1 対多の関係を持つ 2 つのテーブルを作成し、DB レベル (MySQL 内) で直接適用します。テーブルは、'nassignment' (PK id) と 'nassignment_assignee' (FK assignment_id) です。

モデルの下に、クラス Nassignment を持つ 2 つのクラス 'nassignment.php' と、クラス名 Nassignment_assignee を持つ 'nassignment_assignee.php' を作成しました。

以下は、コントローラーで試しているコードです

$this->load->model("nassignment");
$nAssignmentArr = $this->nassignment->all();

次のエラーが発生します

[Fri Aug 02 13:50:52 2013] [error] [client 127.0.0.1] PHP Fatal error:  Uncaught 
exception 'ReflectionException' with message 'Class Nassignmentassignee does not exist' 
in /home/kapil/projects/<project>/application/sparks/php-activerecord/0.0.2/vendor/php-
activerecord/lib/Reflections.php:33\nStack trace:\n#0 
/home/kapil/projects/<project>/application/sparks/php-activerecord/0.0.2/vendor/php-
activerecord/lib/Reflections.php(33): ReflectionClass-
>__construct('Nassignmentassi...')\n#1 
/home/kapil/projects/<project>/application/sparks/php-activerecord/0.0.2/vendor/php-
activerecord/lib/Relationship.php(286): ActiveRecord\\Reflections-
>add('Nassignmentassi...')\n#2 /home/kapil/projects/<project>/application/sparks/php-
activerecord/0.0.2/vendor/php-activerecord/lib/Relationship.php(281): 
ActiveRecord\\AbstractRelationship->set_class_name('Nassignmentassi...')\n#3 
/home/kapil/projects/<project>/application/sparks/php-activerecord/0.0.2/vendor/php-
activerecord/lib/Relationship.php(464): ActiveRecord\\AbstractRelationship-
>set_inferred_class_name()\n#4 /home/kapil/projects/<project>/application/sparks/php-
activerecord/0.0 in /home/kapil/projects/<project>/application/sparks/php-
activerecord/0.0.2/vendor/php-activerecord/lib/Reflections.php on line 33

モデルコードは

nassignment.php

class Nassignment Extends ActiveRecord\Model{
    static $table_name = 'nassignment';
    //Work fine if I remove following line, but do not get data
    static $has_many = array(
            array('nassignment_assignee')
        );
}

nassignment_assignee.php

class Nassignment_assignee Extends ActiveRecord\Model{
    static $table_name = 'nassignment_assignee';
}

提案、なぜそれが機能しないのか

4

1 に答える 1