- 新建表的model来操作表。
访问你本地站点的XXX/gii 即可打开。如果提示无法访问请自行修改config/web.php 文件下面的IP选项
$config['modules']['gii'] = ['class' => 'yii\gii\Module','allowedIPs'=>['127.0.0.1','::1',"192.168.*", "自己定义自己的IP"],];
这时候打开如下图:
我们选择 model 生成。
只需要填写两项:
1. Table Name 表名称 | 以表在数据库中的名字gg_category为例
2. Model CLass 文件 | class 名
点击下方的Preview 预览 - 核对后点击 Generate 生成
这次我们在Modules 下面分模块开发。所以,在/modules/v1/controllers (v1是我的模块名称)中新建一个 CategoryController.php 来作为控制器开发 基本内容为:
<?phpnamespace app\modules\v1\controllers;use app\helper\DoReturnModel;
use app\modules\v1\models\CategoryModel;/*** SettingController implements the CRUD actions for Setting model.*/
class CategoryController extends BaseController
{/*** 获取分类列表* @return DoReturnModel*/public function actionGetCategoryList(){$model = new CategoryModel();$list = $model->getCategoryListAll();// 成功返回成功信息return DoReturnModel::__jsonReturn('成功', 200, ['list' => $list]);}
}
在modules/model 中新建一个CategoryModel.php 来作为控制器开发 基本内容为:
<?php
/*** Created by PhpStorm.* User: Administrator* Date: 2018/3/13* Time: 17:29*/namespace app\modules\v1\models;use app\models\table\Category;
use \yii\helpers\ArrayHelper;class CategoryModel extends Category
{// 状态列表public $status_list = ['normal' => 0];// 父级编号列表public $parent_id = ['no_parent' => 0];// 场景// const SCENARIO_SAVE_SETTING = 'save_setting'; // 添加好友/** 规则验证*/public function rules(){$rule = parent::rules();return ArrayHelper::merge($rule, []);}/*** 场景*/
// public function scenarios()
// {
// $scenarios = parent::scenarios();
// return ArrayHelper::merge($scenarios, [
// [
// self::SCENARIO_SAVE_SETTING => [
//
// ]
// ]
// ]);
// }/*** 重写label的 文字*/public function attributeLabels(){return ['id' => '编号','title' => '标题','content' => '内容','parent_id' => '父级菜单编号','icon' => '图标','status' => '状态', // [0 - 正常],[-1 - 已删除]];}/** 自动加载 model*/public static function __loadModel($key = null){if ($key == null) {return new self;} else {return self::findOne($key);}}/*** 验证编号方法*/public function idValidate($attribute, $params){$transit = self::findOne($this->$attribute);if (empty($transit)) {$this->addError(500, '