发现CakePHP传递到Controller时数据值是对的,但是输出SQL语句后发现那个值一直是“1”
2014-05-20 16:35
134 查看
1. 在用CakePHP+mysql完成一个项目的task时,发现一个奇怪的问题,就是同时查询的两外两个下拉列表的数据都可以查询到数据,就另外一个下拉列表查询不到数据,搞的我很郁闷。后面同事过来帮我看,发现那个字段得到的值在放入CakePHP的conditions字段里时都是3,但是到sql语句输出时却变成1了。
2. Leader过来看了以后发现数据库里那个字段是Tinny。后面leader找到问题所在了:D:\Program Files\wamp\www\gotu_report\lib\Cake\Model\Datasource\Database\Mysql.php
这个文件里面的这个方法把tinny默认转成了Boolean类型:
if (($col === 'tinyint' && $limit == 1) || $col === 'boolean') {
return 'boolean';
}
leader把判断int的方法提前后,就没有这个问题嘞。
没改变之前:
if (($col === 'tinyint' && $limit == 1) || $col === 'boolean') {
return 'boolean';
}
if (strpos($col, 'int') !== false) {
return 'integer';
}
改变之后:
if (strpos($col, 'int') !== false) {
return 'integer';
}
if (($col === 'tinyint' && $limit == 1) || $col === 'boolean') {
return 'boolean';
}
2. Leader过来看了以后发现数据库里那个字段是Tinny。后面leader找到问题所在了:D:\Program Files\wamp\www\gotu_report\lib\Cake\Model\Datasource\Database\Mysql.php
这个文件里面的这个方法把tinny默认转成了Boolean类型:
if (($col === 'tinyint' && $limit == 1) || $col === 'boolean') {
return 'boolean';
}
leader把判断int的方法提前后,就没有这个问题嘞。
没改变之前:
if (($col === 'tinyint' && $limit == 1) || $col === 'boolean') {
return 'boolean';
}
if (strpos($col, 'int') !== false) {
return 'integer';
}
改变之后:
if (strpos($col, 'int') !== false) {
return 'integer';
}
if (($col === 'tinyint' && $limit == 1) || $col === 'boolean') {
return 'boolean';
}
相关文章推荐
- SQL语句如何输出两次相同的数据但是字段不一样
- 动态sql语句基本语法(字段名,表名,数据库名之类作为变量时,必须用动态SQL如ALTER TABLE中使用程序传递的参数)
- 用脚本生成授权语句,输入参数包括用户名、IP、数据库名、要求的权限列表,输出为授权sql
- 用shell把执行的两条sql语句相加并输出数据库名和相加的值以tab健隔开
- Hibernate的hql语句查询不到内容,但是库里有数据,直接执行SQL也能执行,能得到值,返回值取不到
- 利用临时数据表完成SQL语句输出并进行自动编号
- 动态sql语句基本语法(字段名,表名,数据库名之类作为变量时,必须用动态SQL如ALTER TABLE中使用程序传递的参数)
- sql语句可以查出数据但是java数据中有的为null
- mybatis执行查询语句查询不到结果,控制台输出sql语句复制到数据库中能查到数据
- C# 用sql insert into 语句向oracle插入数据数据一直未更新
- 尽管普通的sql语句代码可以实现数据插入的操作,但是更好的代码应该是参数的方式:
- spring hibernate 利用 p6spy.jar来输出带数据的sql语句
- 对sql数据库非空输出的判断+从datagridview中读数据+多表联合sql语句
- Thinkphp中用sql语句插入数据时,虽然成功插入但是报错
- SQL语句实现跨Sql server数据库操作实例 - 查询远程SQL,本地SQL数据库与远程SQL的数据传递
- 要查数据表中第30到40条记录,有字段id,但是id并不连续。如何写sql语句?
- 同样的一句SQL语句在pl/sql 代码块中count 没有数据,但是直接用SQl 执行却可以count 得到结果
- SQL 语句将特定数据以指定格式输出到文本文件中
- django -----原生SQL语句查询与前端数据传递
- 动态sql语句基本语法(字段名,表名,数据库名之类作为变量时,必须用动态SQL如ALTER TABLE中使用程序传递的参数)