首页 > 代码库 > PHP,Yii部门表的设计
PHP,Yii部门表的设计
PHP语言中Yii框架中部门表的设计:
功能:可以添加总部门和子部门,总部门下面可以添加多个子部门,总部门和子部门都可以进行增删改查。
本来打算设计成多对多类型的数据库表,但是显得很麻烦,原来网上有很多部门表的例子,下面讲下Yii框架中部门表的设计:
1.首先是数据库中的Department部门表,如下:
1 id Department_name parent_id2 1 总部门 null3 2 生产部 14 3 设计部 15 4 质检部 26 5 车间部 27 6 美工部 38 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。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。