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。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。