- 新建表的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 来作为控制器开发 基本内容为:
<?php
namespace 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, '