码迷,mamicode.com
首页 > Web开发 > 详细

PHP,Yii部门表的设计

时间:2014-08-14 01:11:47      阅读:226      评论:0      收藏:0      [点我收藏+]

标签:style   blog   color   io   数据   for   ar   art   

PHP语言中Yii框架中部门表的设计:

功能:可以添加总部门和子部门,总部门下面可以添加多个子部门,总部门和子部门都可以进行增删改查。

本来打算设计成多对多类型的数据库表,但是显得很麻烦,原来网上有很多部门表的例子,下面讲下Yii框架中部门表的设计:

1.首先是数据库中的Department部门表,如下:

1   id    Department_name    parent_id
2   1     总部门              null
3   2     生产部              1
4   3     设计部              1
5   4     质检部              2
6   5     车间部              2
7   6     美工部              3
8   7     本地化部            3

PS:parent_id就是所属部门的上级部门,例如质检部的parent_id=2,即质检部的上级部门是生产部。

2.生成Department的Module,Model,Crud,Controller。

3.…………/Department/Department/create.php的创建

1 //create.php,chang The style of Parent_id from textField To dropDownList.
2.<?php echo $form->lableEx($model,‘parent_id‘); ?>
3.<?php echo $form->dropDownList($model,‘parent_id‘,array(0=>‘--选择--‘)+Parent::items()); ?>
4.<?php echo $form->error($model,‘parent_id‘);?>

4.在Department.php添加items()方法:

 1 public static function items(){
 2             $models = self::model()->findAll();
 3             if($models ==null){
 4                     $return = null;
 5                 }else{
 6                     foreach($models as $v){
 7                         $return[$v->id]=$v->name;
 8                         }
 9                 }
10                         return $return ;
11             }

以上即可添加新部门了,而上级部门是从数据库读取的部门下拉项。

5.…………/Department/Department/admin.php的上级部门仍然显示是parent_id,修改为Department_name

1 //将‘parent_id‘修改为如下:
2    array( 3 ‘name‘=>‘parent_id‘, 4 ‘value‘=>‘$data->parent_id==0?"--":Partment::model()->findByPk($data->parent_id)->name‘, 5 ‘type‘=>‘raw‘, 6 ‘htmlOptions‘=>array(‘style‘=>‘text-align:center;‘,‘width‘=>150) 7 ),

6.OKay,It is down。

 

PHP,Yii部门表的设计,布布扣,bubuko.com

PHP,Yii部门表的设计

标签:style   blog   color   io   数据   for   ar   art   

原文地址:http://www.cnblogs.com/mvpchenjian/p/3911461.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!