本文實例講述了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框架程序設計有所幫助。