thinkphp视图模型查询提示ERR: 1146:Table 'db.pr_order_view' doesn't exist的解决方法

(编辑:jimmy 日期: 2025/6/26 浏览:2)

本文实例讲述了thinkphp视图模型查询失败提示:ERR: 1146:Table 'db.pr_order_view' doesn't exist解决办法。分享给大家供大家参考。具体方法如下:

一、问题描述:

想用thinkphp的视图模型进行关联查询,结果出现了这样的问题(log日志记录):ERR: 1146:Table 'db.pr_order_view' doesn't exist,我就纳闷,视图模型怎么出来的sql是这样的呢,视图模型如下:

复制代码 代码如下:class OrderViewModel extends ViewModel
{
public $viewFields = array(
'Order' =>array(
'_as'=>'Orders', //重新命名,以免与系统语法冲突
'id'=>'oid',
'ordid',
'user',
'product',
'status',
'paynum',
'cat',
'payment_trade_no',
'ip'=>'mip',
'reserve_time',
'createtime',
'payment_trade_status',
),
'Member'=>array(
'id'=>'mid',
'name'=>'uname',
'cardnum',
'tel',
'reg_time',
'reg_ip',
'qq',
'email',
'address',
'last_login_time',
'last_login_ip',
'_on'=>'Orders.user=Member.id'
),
'Product'=>array(
'id',
'shorttitle',
'img1',
'category',
'_on'=>'Orders.product=Product.id'
),
);
}
?>

二、解决方法:

看了手册及百度了很多,没有找到解决方案,调用也没有错$Form = D('Admin/OrderView');(这里我用了分组)经过我自己查看,原来是有问题的,原来视图模型的名字命名错了,OrderView.class.php,正常应该是 OrderViewModel.class.php。

对于ThinkPHP初学者来说尤其要注意不要犯这样的低级错误!

希望本文所述对大家的ThinkPHP框架程序设计有所帮助。

一句话新闻

高通与谷歌联手!首款骁龙PC优化Chrome浏览器发布
高通和谷歌日前宣布,推出首次面向搭载骁龙的Windows PC的优化版Chrome浏览器。
在对骁龙X Elite参考设计的初步测试中,全新的Chrome浏览器在Speedometer 2.1基准测试中实现了显著的性能提升。
预计在2024年年中之前,搭载骁龙X Elite计算平台的PC将面世。该浏览器的提前问世,有助于骁龙PC问世就获得满血表现。
谷歌高级副总裁Hiroshi Lockheimer表示,此次与高通的合作将有助于确保Chrome用户在当前ARM兼容的PC上获得最佳的浏览体验。