我正在尝试使用该find
函数通过 id 查询数据库表。该表有 4 个主键(3 个外键)。
这是表数据网关的代码:
class Application_Model_DbTable_Assigneduser extends Zend_Db_Table_Abstract
{
protected $_name = 'assigneduser';
}
这是映射器的代码:
public function find($id)
{
$result = $this->getDbTable()->find($id);
if(count($result) == 0)
return;
$row=$result->current();
$assignedUser = new Application_Model_AssignedUser();
$assignedUser->setId($row->id)
->setIdProject($row->id_project)
->setIdUser($row->id_user)
->setIdTask($row->id_task);
}
我用来实例化映射器的代码以及我使用该方法的位置find
:
public function indexAction()
{
echo "<xmp>";
$user=new Application_Model_AssignedUserMapper();
print_r($user->find(3));
echo '</xmp>';
}
我使用print_r
andxmp
标记很好地查看了代码返回的内容。我得到的异常消息是:
Message: Too few columns for the primary key
我不知道该怎么做才能解决它。任何想法?谢谢!