Я хочу создать приложение для блогов с помощью YII 2, я использую таблицу tbl_lookup для хранения сопоставления между целыми значениями и текстовыми представлениями, которые нужны другим объектам данных. я изменяю класс модели Lookup следующим образом, чтобы более легко получить доступ к текстовым данным в таблице. здесь мой код:
<?php namespace common\models; use Yii; ?> class Lookup extends \yii\db\ActiveRecord { private static $_items=array(); public static function tableName() { return '{{%lookup}}'; } public static function model($className=__CLASS__) { return parent::model($className); } /** * @inheritdoc */ public function rules() { return [ [['name', 'code', 'type', 'position'], 'required'], [['code', 'position'], 'integer'], [['name', 'type'], 'string', 'max' => 128] ]; } /** * @inheritdoc */ public function attributeLabels() { return [ 'id' => 'ID', 'name' => 'Name', 'code' => 'Code', 'type' => 'Type', 'position' => 'Position', ]; } private static function loadItems($type) { self::$_items[$type]=[]; $models=self::model()->findAll([ 'condition'=>'type=:$type', 'params'=>[':type'=>$type], 'order'=>'position', ]); foreach ($models as $model) self::$_items[$type][$model->code]=$model->name; } public static function items($type) { if(!isset(self::$_items[$type])) self::loadItems($type); return self::$_items[$type]; } public static function item($type, $code) { if(!isset(self::$_items[$type])) self::loadItems ($type); return isset(self::$_items[$type][$code]) ? self::$_items[$type][$code] : false; }
}
но я получаю некоторую ошибку, когда я хочу вернуть статический класс модели
public static function model($className=__CLASS__) { return parent::model($className); }
кто-нибудь может мне помочь? где моя ошибка. или у кого-нибудь есть учебник, чтобы сделать приложение для блогов с помощью yii 2? Спасибо.