1、設計資料表,很簡單就三個字段
create table `category` (
`id` int(11) unsigned not null auto_increment,
`cate_name` varchar(255) default null,
`pid` int(11) unsigned not null default '0',
primary key (`id`)
) engine=innodb default charset=utf8;
2、model層**如下:
<?php
namespace common\models;
use yii;
use yii\helpers\arrayhelper;
/** * this is the model class for table "}".
* * @property string $id
* @property string $cate_name
* @property string $pid
*/class category extends \yii\db\activerecord
}'; }
/*** @inheritdoc
*/public function rules()
/*** @inheritdoc
*/public function attributelabels()
/*** 獲取所有的分類
*/public function getcategories()
/***遍歷出各個子類 獲得樹狀結構的陣列
*/public static function gettree($data,$pid = 0,$lev = 1)
}return $tree;
}/**
* 得到相應 id 對應的 分類名 陣列
*/public function getoptions()
return $list;}}
3、控制器層宣告這樣乙個方法
public function actioncreate()
else
}
4、檢視層**
<?php
use yii\helpers\html;
use yii\widgets\activeform;
/* @var $this yii\web\view */
/* @var $model common\models\category */
/* @var $form yii\widgets\activeform */
?>
<?php $form = activeform::begin(); ?>
= $form->field($model, 'cate_name')->textinput(['maxlength' => true]) ?>
= $form->field($model,'pid')->dropdownlist($list)?>
= html::submitbutton($model->isnewrecord ? 'create' : 'update', ['class' => $model->isnewrecord ? 'btn btn-success' : 'btn btn-primary']) ?>
<?php activeform::end(); ?>
5、效果圖如下
yii2資料庫遷移
yii migrate create create test table 建立乙個資料庫遷移 yii migrate 提交所有的遷移 yii migrate m160623 034801 create test table 指定類名,提交乙個遷移 yii migrate down 還原最近一次遷移 ...
基礎YII2資料庫操作
注意 為了保持精度,從資料庫中取出的資料都被表示為字串,即使相應的資料庫列型別數值。當建立從乙個帶引數的sql乙個db命令,你應該總是使用繫結引數的方法來防止sql注入攻擊。引數繫結是通過預處理語句來實現。除了防止sql注入攻擊,也可通過一次準備sql語句和多次使用不同的引數執行它提高效能 yii ...
yii2 查詢資料庫語法
1 query0 imgroupuser find where gid 56680dfc60b215d62104a4d8 select user client id all ar2 query1 imgroupuser findall gid 56680dfc60b215d62104a4d8 ar3...