




已阅读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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年中南财经政法大学辅导员考试真题
- 2024年衢州龙游县卫健系统引进事业单位卫生人才真题
- 2025年二手奢侈品鉴定标准与交易市场合规化策略研究报告
- 2025年二手交易电商信用评价体系创新与实践案例报告
- 罗马椅背部力量训练行业跨境出海项目商业计划书
- 【保定】2025年河北碑店市公开招聘卫健局下属事业单位工作人员62人笔试历年典型考题及考点剖析附带答案详解
- 安全员试题题库及答案
- 兜底式增持-“馅饼”还是“陷阱”?-基于中顺洁柔与宝通科技的案例分析
- 战略合作伙伴合同:资源共享与市场拓展合作框架
- 2025年高中数学人教版新教材必修B版第二册课时作业 22
- JJG 475-2008电子式万能试验机
- 配件供应技术服务和质保期服务计划方案
- 《济南市城镇燃气领域重大隐患判定指导手册》
- 图文高中英语语法if条件句If - Clauses
- 四川省安全员《A证》考试题库及答案
- 职业生涯规划书成长赛道
- 林木育种的种质与材质性状评价
- 大模型在航空航天领域的应用:智能探索宇宙的无限可能
- 《直流电源》课件
- 内燃机车柴油机 课件 2-1-1 16V280型柴油机 固定件认知
- FMECA方法及工程应用案例
评论
0/150
提交评论