thinkphp查询数据库问题
时间:2011-06-09
来源:互联网
             我在开发项目的时候有个model中输入的表名是大写的,但是thinkphp给我全部转义成小写了,而且还在我的表明中加入了下划线,导致数据库查询失败。这个问题怎么解决?
public function index()
{
$User = new Model("UserInfo");
$data = $User->find(1);
dump($data);
        
//$this->display();
$this->login();
}
   
调试日志信息:
            
            public function index()
{
$User = new Model("UserInfo");
$data = $User->find(1);
dump($data);
//$this->display();
$this->login();
}
调试日志信息:
作者: hijoys 发布时间: 2011-06-09
             5.3.2 模型命名
thinkphp.cn/Manual/81
            thinkphp.cn/Manual/81
  当我们创建一个UserModel类的时候,其实已经遵循了系统的约定。ThinkPHP要求数据库的表名和模型类的命名遵循一定的规范,首先数据库的表名和字段全部采用小写形式,模型类的命名规则是除去表前缀的数据表名称,并且首字母大写,然后加上模型类的后缀定义,例如:
  
UserModel 表示User数据对象,(假设数据库的前缀定义是 think_)其对应的数据表应该是
  
think_user
  
UserTypeModel 对应的数据表是 think_user_type
  
如果你的规则和系统的约定不符合,那么需要设置Model类的tableName属性。
            UserModel 表示User数据对象,(假设数据库的前缀定义是 think_)其对应的数据表应该是
think_user
UserTypeModel 对应的数据表是 think_user_type
如果你的规则和系统的约定不符合,那么需要设置Model类的tableName属性。
作者: gulize 发布时间: 2011-06-10
你说可以设置那个Model类的tableName属性,请问如何设置?
作者: hijoys 发布时间: 2011-06-10
问题解决了。
此文件在Z:\ThinkPHP\Lib\Think\Core\Model.class.php中
public function getTableName()
{
if(empty($this->trueTableName)) {
$tableName = !empty($this->tablePrefix) ? $this->tablePrefix : '';
if(!empty($this->tableName)) {
$tableName .= $this->tableName;
}else{
//$tableName .= parse_name($this->name);
$tableName .= trim($this->name);
}
$tableName .= !empty($this->tableSuffix) ? $this->tableSuffix : '';
if(!empty($this->dbName))
$tableName = $this->dbName.'.'.$tableName;
//$this->trueTableName = strtolower($tableName); //原来配置
$this->trueTableName = trim($tableName); //修改过的配置
}
return $this->trueTableName;
}
作者: hijoys 发布时间: 2011-06-10
             不知道修改过后会不会有问题            
            作者: hijoys 发布时间: 2011-06-10
 相关阅读 更多  
      
    热门阅读
-   office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具 office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具阅读:74 
-   如何安装mysql8.0 如何安装mysql8.0阅读:31 
-   Word快速设置标题样式步骤详解 Word快速设置标题样式步骤详解阅读:28 
-   20+道必知必会的Vue面试题(附答案解析) 20+道必知必会的Vue面试题(附答案解析)阅读:37 
-   HTML如何制作表单 HTML如何制作表单阅读:22 
-   百词斩可以改天数吗?当然可以,4个步骤轻松修改天数! 百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!阅读:31 
-   ET文件格式和XLS格式文件之间如何转化? ET文件格式和XLS格式文件之间如何转化?阅读:24 
-   react和vue的区别及优缺点是什么 react和vue的区别及优缺点是什么阅读:121 
-   支付宝人脸识别如何关闭? 支付宝人脸识别如何关闭?阅读:21 
-   腾讯微云怎么修改照片或视频备份路径? 腾讯微云怎么修改照片或视频备份路径?阅读:28 















