PHP中Yii的部门表的设计

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。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值