class SomeModel extends CActiveRecord
{
public static function model($className=__CLASS__)
{
return parent::model($className);
}
public function tableName()
{
return '{{some_table}}';
}
public function getItemByParentId($parentId)
{
$criteria=new CDbCriteria;
//some criteria
return self::model()->findAll($criteria);
}
}
このメソッドは、コントローラー SomeModel::model()->getItemByParentId($someVariable) から呼び出すと正しく機能します
しかし今、私は SomeModel モデルに非常によく似たモデルを 3 つ持っているので、共通のメソッドを 1 つのクラスに入れたいと考えています。
class CommonModel extends CActiveRecord
{
public static function model($className=__CLASS__)
{
return parent::model($className);
}
public function getItemByParentId($parentId)
{
$criteria=new CDbCriteria;
//some criteria
return self::model()->findAll($criteria);
}
}
class FirstModel extends CommonModel
{
public static function model($className=__CLASS__)
{
return parent::model($className);
}
public function tableName()
{
return '{{first_table}}';
}
}
class SecondModel extends CommonModel
{
public static function model($className=__CLASS__)
{
return parent::model($className);
}
public function tableName()
{
return '{{second_table}}';
}
}
しかし、エラーが発生します
アクティブなレコード クラス "CommonModel" のテーブル "CommonModel" がデータベースに見つかりません。
なにが問題ですか?