xiaoxiaoniao32 2016-01-05 06:39 采纳率: 100%
浏览 2320

thinkphp 实例化自定义model类问题

路径 Application/Admin/Controller/RankController.class.php
public function doadd(){
//添加数据
$user =D('Admin');
if(!$user->create()){
//如果创建失败 表示验证没有通过 输出提示信息
$this->error($user->getError());
}
if($user->add()>0){
$this->success('添加成功','Rank/index');
}else{
$this->error('注册失败');
}
}
自定义model类 Application/Admin/Model/AdminModel.class.php
<?php
namespace Admin\Model;
use \Think\Model;
class AdminModel extends Model{
//自动完成
protected $_auto = array(
array('pass','md5',3,'function'),
array('add_time','time',1,'function'),

);

    //自动验证
    protected $_validate = array(
      array('name','require','用户名不能为空',0,'regex',1), 
      array('name','','帐号名称已经存在!',0,'unique',1), 
      array('pass','/^\w{6,12}$/','密码必须是6-12位的shuzi、字母、下划线',0,'regex',1), 
      array('repass','pass','确认密码不正确',0,'confirm',1), // 验证确认密码是否和密码一致
      array('email','email','邮箱格式不正确'), // 自定义正则验证数据
    );
}

D方法实例化后一直报错。。。。。。。求解答。。。

1146:Table 'f4shop.admin' doesn't exist [ SQL语句 ] : SHOW COLUMNS FROM admin

  • 写回答

1条回答 默认 最新

  • 你知我知皆知 2024-08-05 00:25
    关注

    以下回答参考 皆我百晓生券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。

    在使用ThinkPHP时,当你尝试将自定义模型类与数据库关联时,你可能会遇到 Table 'f4shop.admin' doesn't exist 的错误。这通常表明数据库表名或字段名有误,或者是思科框架中定义的表名与你的自定义模型中的表名不匹配。

    以下是一些建议来解决这个问题:

    1. 确保你的自定义模型类的表名($table)与数据库中的表名($table)完全匹配。 在你自己的模型文件中,例如 Application/Admin/Model/AdminModel.class.php,确保表名与思科框架中的表名相匹配:

      protected $_table = 'admin';
      
    2. 如果你的数据库表名包含特殊字符或占位符,请确保你在思科框架中定义的表名也包含这些特殊字符或占位符。 你可以参考思科框架的文档,了解如何在思科框架中定义表名。

    3. 检查你的数据库连接配置。确保思科框架能够访问到正确的数据库服务器和端口。 在你的应用目录中找到思科框架的配置文件(通常是 config/database.php),并检查数据库设置。 确保数据库类型(例如 MySQL 或 PostgreSQL)与思科框架中的数据库类型相同,并且数据库主机、用户名、密码等设置正确。

    4. 如果以上步骤都无法解决问题,可能是数据库表结构出现了问题,或者数据库服务器无法正常运行。在这种情况下,你需要联系数据库管理员或者技术支持获取帮助。

    如果你仍然无法解决问题,可以提供更多的代码片段以便于进一步分析问题所在。

    评论

报告相同问题?