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

本文实例讲述了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框架程序设计有所帮助。