Php Zend框架中映射器代码中的问题
这是我遇到的错误我尝试显示输入的字段,我检查了数据库并保存了字段,我正在发布员工映射器。请检查代码并告诉解决方案,提前谢谢Php Zend框架中映射器代码中的问题,php,zend-framework,zend-db,Php,Zend Framework,Zend Db,这是我遇到的错误我尝试显示输入的字段,我检查了数据库并保存了字段,我正在发布员工映射器。请检查代码并告诉解决方案,提前谢谢 Notice: Undefined variable: entryMessage in /var/www/Employee/application/models/EmployeeMapper.php on line 34 Fatal error: Call to a member function setEmployeeId() on a non-object in /va
Notice: Undefined variable: entryMessage in /var/www/Employee/application/models/EmployeeMapper.php on line 34 Fatal error: Call to a member function setEmployeeId() on a non-object in /var/www/Employee/application/models/EmployeeMapper.php on line 34
您得到的错误是非常清楚的,您应该始终阅读并尝试理解您得到的错误消息,它为您提供了大多数常见问题的解决方案。因此,要养成阅读和理解错误信息的习惯。这里,
class Application_Model_EmployeeMapper
{
protected $_dbTable;
public function setDbTable($dbTable)
{
if (is_string($dbTable)) {
$dbTable = new $dbTable();
}
if (!$dbTable instanceof Zend_Db_Table_Abstract) {
throw new Exception('Invalid table data gateway provided');
}
$this->_dbTable = $dbTable;
return $this;
}
public function getDbTable()
{
if (null === $this->_dbTable) {
$this->setDbTable('Application_Model_DbTable_Employee');
}
return $this->_dbTable;
}
public function fetchAll()
{
$table = $this->getDbTable();
$resultSet = $table->fetchAll($table->select()->order('EMPLOYEE_ID'));
$entries = array();
foreach ($resultSet as $row) {
$entry = new Application_Model_Employee();
$entryMessage->setEmployeeId($this->$row->EMPLOYEE_ID)
->setFirstName($row->FIRST_NAME)
->setLastName($row->LAST_NAME)
->setEmail($row->EMAIL)
->setPhoneNumber($row->PHONE_NUMBER)
->setHireDate($row->HIRE_DATE)
->setJobId($row->JOB_ID)
->setSalary($row->SALARY);
$entries[] = $entry;
}
return $entries;
}
public function save(Application_Model_Employee $employee)
{
$data = array(
'EMAIL' => $employee->getEmail(),
'FIRST_NAME' => $employee->getFirstName(),
'LAST_NAME' => $employee->getLastName(),
'PHONE_NUMBER' => $employee->getPhoneNumber(),
'HIRE_DATE' => $employee->getHireDate(),
'JOB_ID' => $employee->getJobId(),
'SALARY' => $employee->getSalary(),
);
注意,未定义的变量;这意味着未定义变量$entryMessage
。以及您得到的错误的第二部分:
Notice: Undefined variable: entryMessage in /var/www/Employee/application/models/EmployeeMapper.php on line 34 Fatal error: Call to a member function setEmployeeId() on a non-object in /var/www/Employee/application/models/EmployeeMapper.php on line 34
Notice: Undefined variable: entryMessage in /var/www/Employee/application/models/EmployeeMapper.php on line 34
这一点非常明显,因为您试图从尚未定义的$entryMessage
调用setEmployeeId()
函数,但您假设它是一个对象并将其用作对象
Notice: Undefined variable: entryMessage in /var/www/Employee/application/models/EmployeeMapper.php on line 34 Fatal error: Call to a member function setEmployeeId() on a non-object in /var/www/Employee/application/models/EmployeeMapper.php on line 34
我假设您正在使用的$entryMessage
应该是$entry
这些都很简单,实际上不适合这样问
再一次,我给你的建议是
Notice: Undefined variable: entryMessage in /var/www/Employee/application/models/EmployeeMapper.php on line 34 Fatal error: Call to a member function setEmployeeId() on a non-object in /var/www/Employee/application/models/EmployeeMapper.php on line 34
- 始终阅读错误消息所说的内容,这是您应该用来调试代码中任何错误的内容
- 如果你是编程新手,也许应该使用IDE(netbeans, eclipse等),它实际显示了变量和 代码中的函数和语法错误
- 一定要做你那部分的研究,只有在没有发现或没有成功的情况下才提问,并且一定要展示你的尝试。其他人在那里帮助你,但不是为你解决所有问题。:)李>
Notice: Undefined variable: entryMessage in /var/www/Employee/application/models/EmployeeMapper.php on line 34 Fatal error: Call to a member function setEmployeeId() on a non-object in /var/www/Employee/application/models/EmployeeMapper.php on line 34
Notice: Undefined variable: entryMessage in /var/www/Employee/application/models/EmployeeMapper.php on line 34 Fatal error: Call to a member function setEmployeeId() on a non-object in /var/www/Employee/application/models/EmployeeMapper.php on line 34