我想在数据库中插入数据但显示错误
致命错误:在非对象中调用成员函数getform() \部件\ com_enquiry \视图\形式\ view.html.php 第9行
我的代码是: enqiry.php:
public function getform($data)
{
$db=JFactory::getDbo();
$db=$this->getDbo();
$query=$db->getQuery(true);
$reg=new stdClass();
$reg->name=$data['name'];
$reg->email=$data['email'];
$reg->phone=$data['phone'];
$reg->comments=$data['comments'];
$reg=$db->insertObject('#__enquiry',$reg);
}
和view.html.php:
public function display()
{
$this->msg = 'enquiry form';
$model=$this->getModel();
$data =$model->getform();
$this->assignRef('data', $data );
parent::display();
parent::display();
}
控制器:
class enquiryController extends JControllerLegacy
{
public function display()
{
$vname=JRequest::getCmd('view','form');
JRequest::setVar('view',$vname);
JRequest::setVar('layout','default');
parent::display();
}
public function show()
{
$data['name']=$_POST['name'];
$data['email']=$_POST['email'];
$data['phone']=$_POST['phone'];
$data['comments']=$_POST['comments'];
$sname=JRequest::getCmd('view','thanx');
JRequest::setVar('view',$sname);
print_r($data);
}
}
有人可以帮我解决这个错误吗?
答案 0 :(得分:0)
问题是您的模型未被该行加载:
$model=$this->getModel();
这意味着enquiry.php中的模型未正确命名
ComponentNameModelEnquiry
或您的观点未命名为查询。
您可以尝试指定所需的型号,例如
$model = $this->getModel('enquiry');