BFW操作手册.doc_第1页
BFW操作手册.doc_第2页
BFW操作手册.doc_第3页
BFW操作手册.doc_第4页
BFW操作手册.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

模型的使用方法/每个需要new对象的文件都要copy该语句require_once (E0020PATHROOT.BFW_jxc/backstage/basecore.php);/讲述Model如何使用/* * 需要跨库操作数据 */配置连接方式(可以写出不同的数据库连接arr)$arrDB=Array(DbType = mysqli,UserName = root,PassWord = asdfghjk,HostName = ,HostPort = 3306,DbName = DIYErp_1000018);/得到mysqli方式连接$conn_arr=new lib_database_pdbc_DbMysqliClass($arrDB);/-/DSN方式连接(可以写出不同的数据库连接dsn)$db_dsn = mysql:/root:asdfghjk:3306/DIYErp_1000018; $conn_dsn=new lib_database_pdbc_DbMysqliClass($db_dsn);/创建起先建立好的model$testTable=new jxc_model_MMBasePropertyField($conn);/需要选取的字段limit(开始点,个数) 必须使用字符否则会容错取第一个$result=$testTable-field(strField,strDisplay,isUsed,strFieldLength)-limit(10)-select();/多条/print_r($result);$arr=array(strField,strDisplay,isUsed,strFieldLength);$result=$testTable-field($arr)-find();/单条第一条/print_r($result);/* * 目前可以通过配置文件自动创建默认连接(推荐使用方式) */直接new 直接使用语句$db=new lib_database_pdbc_DbMysqliClass();$strIns=INSERT INTO ttt (name,email) VALUES(32,中文代码);$db-execute($strIns);$strUpd=UPDATE ttt SET email=aaaaa WHERE name=32;$db-execute($strUpd);$strSql=SELECT * FROM ttt;$result=$db-query($strSql);/print_r($result);/-查询数据-select()-find()-/创建需要的model(见jxc_model_MMBasePropertyField/jxc_model_InfoStorageGroupModelClass类)$modelMM=new jxc_model_InfoStorageGroupModelClass();/获取查询的字段名,如果没有设置fields默认查出所有字段(单表)$fields=$modelMM-getDbFields();/print_r($fields);$result=$modelMM-order(intStorageGroupPK DESC)-limit(5)-select();/print_r($result);$result=$modelMM-find(111);/通过主键获取,必须在model中指明主键/print_r($result);/echo $resultstrStorageGroupNo;/创建一个查询使用的arr$tempintModulePK=array(!=,E0020);/不等于$obj=$modelMM-where($temp)-select();print_r($obj);/区间查询$temp2intStorageGroupPK=array(array(=,134),array(where($temp2)-select();/print_r($obj);/-插入数据-add()-/创建一个数组$dataintStorePK=1000018;$dataintModulePK=E0020;$datastrStorageGroupNo=测试数据;$datastrStorageGroupName=测试数据名;/$returnValue=$modelMM-data($data)-add();/返回插入行的主键号主键+1/echo $returnValue;/得到上一次的sql$sql=$modelMM-getLastSql();/echo $sql;/-删除数据-delete()-/$modelMM-where(intStorageGroupPK = 125)-delete();/-更新数据-save()-/使用锁/查询锁定使用: /$list = $modelMM-lock(true)-where(intModulePK=E0020)-order(intStorageGroupPK)-limit(10)-select();/$uparrstrStorageGroupNo=程序更新之;/更新锁定使用: $list = $modelMM-lock(true)-where(intModulePK=E0020)-data($uparr)-save();/-高级应用-startTrans()commit()rollback()-/事物处理/$modelTrans=new lib_model_ModelClass();/$modelTrans-startTrans();/ 进行相关的业务逻辑操作 /$modelMM=new jxc_model_InfoStorageGroupModelClass();/$modelMM-where(intModulePK=E0020_1)-delete();/$modelMM-data($data)-add();/if ( 操作成功) / 提交事务 /$modelTrans-commit(); /else / 事务回滚 /$modelTrans-rollback(); / /-其他方法-/如果只是更新某个字段的值,可以使用 setField 方法: /$modelMM-where(intModulePK=E0020)-setField(strStorageGroupNo,setfiel修改之);/只得到一个数据/$result=$modelMM-where(intModulePK=E0020)-getField(strStorageGroupNo);/echo $modelMM-getLastSql();/echo $result;固化模型类的创单表:class jxc_model_InfoStorageGroupModelClass extends lib_model_ModelClass/初始化表名前缀/private $tablePrefix = tblStock;/ 数据表后缀由子类实现/private $tableSuffix = ;/ 数据库表名前间隔符 /private $spaceMarkP = _;/ 数据库表名后间隔符 /private $spaceMarkS = ;/需要显示的字段名+PKprotected $fields=array(_pk=intStorageGroupPK,/指明find的依据intStorePK,intModulePK,strStorageGroupNo,strStorageGroupName,intFatherStorageGroupPK,intStorageLevel,intTreeLevel,intInLevelOrder,isHaveSubGroup,strRelation,strOrderRelation,strMemo,dtDate);/* * 获得所有仓库信息 */public function getStorageGroup()/创建查询条件数组$arr=array(where=intModulePK=E0020);$var=$this-field()-select($arr);/var_dump($var);/echo ;return $var;多表:/* * 由tblStock_BaseField和tblStock_PropertyField组成 * author zjh * version 创建时间:2011-5-3 上午09:26:13 */class jxc_model_MMBasePropertyField extends lib_model_MultiTableModelClassprivate $logger;protected $containFields=array(/表名BaseField=array(intBaseTablePK),PropertyField=array(strField,strDisplay,isUsed,strFieldLength,HTMLElement=htmlType,/别名/默认是left连接_on=(PropertyField.isDescribe=0 and PropertyFBaseTablePK=BaseFBaseTablePK and PropertyField.strField=BaseField.strField) or (PropertyField.isDescribe=1 and PropertyFDescribeTablePK=BaseFBaseTablePK and PropertyField.strField=BaseField.strField) );/对外部的借口得到需要的数据public function getModelData($intBaseTablePK,$intStorePK,$intModulePK)/得到符合条件的数据$arr=$this-where(BaseFBaseTablePK=.$intBaseTablePK. AND PropertyFStorePK=.$intStorePK. AND PropertyFModulePK=.$intModulePK. AND PropertyField.isUsed=1)-select();return json_encode($arr);public function getFieldByBaseTablePK($intBaseTablePK)/通过where进参是字符串$arr2=$this-where(BaseFBaseTablePK=.$intBaseTablePK. and PropertyField.isAdmDisplay =1 and P

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论