这个算BUG吗?
时间:2011-12-12
来源:互联网
PHP 视图查询
表结构 think_blog
复制代码
表think_category
复制代码
采用视图查询,视图定义
复制代码
查询所有think_Blog 表 status=1 的数据
复制代码
此处的$count 不会返回值
通过调试界面其SQL 为
复制代码
手动执行会报错,因为不能识别是那个表的status
如果 把 $Blog->where("status=1")->count() --> $Blog->where("Blog.status =1")->count() 就OK 了
这就产生了一个问题,如果两个表里面的视图存在相同的字段名,条件中需要手动 指名具体是那个表, 但是上面我的视图只定义了
一个status 了,请问管理员这个算是BUG吗? 我是新手 ,还是我哪里操作错了? 例外问下,有 thinkPhp 源码的BUG追踪查看吗?
Tp版本:ThinkPHP_2.1_full_with_extend.zip
表结构 think_blog
- CREATE TABLE IF NOT EXISTS `think_blog` (
- `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
- `name` varchar(15) NOT NULL DEFAULT '',
- `userId` mediumint(5) unsigned NOT NULL DEFAULT '0',
- `categoryId` smallint(5) unsigned NOT NULL,
- `title` varchar(255) NOT NULL DEFAULT '',
- `content` longtext,
- `cTime` int(11) unsigned NOT NULL DEFAULT '0',
- `mTime` int(11) unsigned NOT NULL DEFAULT '0',
- `status` tinyint(1) unsigned NOT NULL DEFAULT '0',
- `readCount` mediumint(5) unsigned NOT NULL DEFAULT '0',
- `commentCount` mediumint(5) unsigned NOT NULL DEFAULT '0',
- `tags` varchar(100) NOT NULL,
- PRIMARY KEY (`id`)
- ) ENGINE=MyISAM DEFAULT CHARSET=utf8
- CREATE TABLE IF NOT EXISTS `think_category` (
- `id` mediumint(5) unsigned NOT NULL AUTO_INCREMENT,
- `name` varchar(30) NOT NULL DEFAULT '',
- `title` varchar(50) NOT NULL DEFAULT '',
- `remark` varchar(255) NOT NULL DEFAULT '',
- `status` tinyint(1) unsigned NOT NULL DEFAULT '0',
- PRIMARY KEY (`id`)
- ) ENGINE=MyISAM DEFAULT CHARSET=utf8
- <?php
- class BlogViewModel extends ViewModel {
- public $viewFields = array(
- 'Blog'=>array('id','name','title','cTime','categoryId','content','readCount','tags','commentCount','status'),
- 'Category' => array('title'=>'category', '_on'=>'Blog.categoryId=Category.id')
- );
- }
- ?>
- public function index(){
- $Blog = D("BlogView");
- $count = $Blog->where("status=1")->count();
- echo "pange count".$count;
- $this->display("Index/index");
- }
通过调试界面其SQL 为
- SELECT COUNT(*) AS tp_count FROM think_blog Blog JOIN think_category Category ON Blog.categoryId=Category.id WHERE status=1 LIMIT 1
如果 把 $Blog->where("status=1")->count() --> $Blog->where("Blog.status =1")->count() 就OK 了
这就产生了一个问题,如果两个表里面的视图存在相同的字段名,条件中需要手动 指名具体是那个表, 但是上面我的视图只定义了
一个status 了,请问管理员这个算是BUG吗? 我是新手 ,还是我哪里操作错了? 例外问下,有 thinkPhp 源码的BUG追踪查看吗?
Tp版本:ThinkPHP_2.1_full_with_extend.zip
作者: playsoso 发布时间: 2011-12-12
我自己顶顶
作者: playsoso 发布时间: 2011-12-12
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28