如何在没有数据库的情况下创建 Yii2 模型 [英] How to create a Yii2 model without a database
问题描述
我想创建一个没有数据库的 yii2 模型.相反,数据是动态生成的而不是存储的,只是作为 json 显示给用户.基本上,我只想得到一个非数据库模型工作的简单、基本示例,但我找不到关于它的任何文档.
那么我将如何在没有数据库的情况下编写模型?我已经扩展了 \yii\base\Model
但我收到以下错误消息:
要实现find()
,我必须返回一个数据库查询对象.
我的模型完全空白,我只是想找一个简单的例子来理解原理.
这是我的一个项目中的 Model
.此Model
未连接任何数据库.
150],//应用后端主题['appBackendTheme', 'required'],//应用前端主题['appFrontendTheme', 'required'],//缓存类['cacheClass', '必需'],['cacheClass', 'string', 'max' =>128],//应用之旅['appTour', '布尔值']];}公共函数attributeLabels(){返回 ['应用程序名称' =>'应用名称','appFrontendTheme' =>'前端主题','appBackendTheme' =>'后端主题','缓存类' =>'缓存类','appTour' =>'为新用户展示介绍之旅'];}}
像其他任何东西一样使用这个 Model
.例如view.php
:
title = '基本设置 - ' .Yii::$app->name;?><div class="panel panel-default"><div class="panel-heading">基本设置</div><div class="panel-body"><?= $this->render('/alert') ?><?php $form = ActiveForm::begin(['id' =>'基本设置形式','enableAjaxValidation' =>错误的,]);?><h4>应用程序设置</h4><div class="form-group"><?= $form->field($model, 'appName')->textInput(['价值' =>Yii::$app->config->get(枚举::APP_NAME, '初学者工具包'),'自动对焦' =>真的,'自动完成' =>'离开'])?>
<小时/><h4>主题设置</h4><div class="form-group"><?= $form->field($model, 'appBackendTheme')->dropDownList($themes, ['类' =>'形式控制','选项' =>[Yii::$app->config->get(Enum::APP_BACKEND_THEME, 'yeti') =>['选择' =>真的]]]) ?>
<div class="form-group"><?= $form->field($model, 'appFrontendTheme')->dropDownList($themes, ['类' =>'形式控制','选项' =>[Yii::$app->config->get(Enum::APP_FRONTEND_THEME, 'readable') =>['选择' =>真的]]]) ?>
<小时/><h4>缓存设置</h4><div class="form-group"><?= $form->field($model, 'cacheClass')->dropDownList([FileCache::className() =>'文件缓存',DbCache::className() =>'数据库缓存'],['类' =>'形式控制','选项' =>[Yii::$app->config->get(Enum::CACHE_CLASS, FileCache::className()) =>['选择' =>真的]]]) ?>