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