ThinkPHP视图模型动态改变视图联表字段,因为D方法的伪单例而产生BUG的错误处理
2013-08-04 01:47
465 查看
因为TP核心类型基类里在设置完 trueTableName 真实表名后,就不会因为你重新定义了联表字段而再次去重新获取表名,所以当你动态改变 viewFields 属性时,如果关联的表发生了变化,必须清空一下 trueTableName 属性,否则 SQL语句还是用原来的联表,会产生错误
解决的例子如下:
解决的例子如下:
<?php private function _setCommonViewFields() { $this->trueTableName = null; $this->viewFields = array( 'Ip' => array( 'ip_id', 'address_1', 'address_2', 'address_3', 'address_4', // 'unit_id', // 'subnet_id', 'server_id', 'server_type', // 'card_id', 'card_order', 'use_time', 'use_state', 'plan_state', 'lock_state', '_type' => 'LEFT', ), 'PlanUnit' => array( // 'unit_id', // 'unit_type_id', 'unit_name' => 'plan_unit_name', // 'unit_englishname', // 'add_time' => 'unit_add_time', // 'order_num', '_table' => T1_PREFIX . 'unit', '_on' => 'Ip.unit_id = PlanUnit.unit_id', '_type' => 'LEFT', ), ......
相关文章推荐
- jquery easyui dataGrid动态改变排序字段名的方法
- 一个 PB 中动态根据数据库字段产生TreeView视图
- 通过链接服务器查询视图得到“意外的Null值(MessageID:7342)”错误的处理方法
- SVN各种错误提示产生原因及处理方法
- SVN各种错误提示产生原因及处理方法大全(转)
- TreeView 回调时产生错误的处理方法
- xaml数据绑定时字段不存在的错误处理方法
- 更新数据库所有表的某一个指定字段 ,附加对‘将 varchar 值转换为数据类型为 int 的列时发生语法错误’处理方法
- SVN各种错误提示产生原因及处理方法
- thinkphp视图模型查询提示ERR: 1146:Table 'db.pr_order_view' doesn't exist的解决方法
- thinkphp的M方法可以直接使用模型类进行查询,而模型类名字要与数据表对应,模型类中字段不需要写
- 一个ArcGIS Javascript API的BUG和处理办法 - 调用两次Draw工具条deactivate方法导致的错误
- Arcmap 10.2 MXD配图数据源字段发生改变后产生BUG的问题
- SpringMVC几个核心类(控制器核心类,加载配置文件核心类,处理url影射核心类,处理视图资源核心类,方法动态调用核心类)
- ie6.0中关于动态改变html中select标签中option的处理方法
- Thinkphp中视图模型存在的问题已经解决方法
- SVN各种错误提示产生原因及处理方法
- SVN各种错误提示产生原因及处理方法大全
- SVN各种错误提示产生原因及处理方法大全
- Message: 因为当前线程不在单线程单元中,故无法实例化 ActiveX 控件 错误处理方法