在 zend 框架 2 中,我想从两个表中检索列名称和结果。
在 SQL 中我可以写
Select user.name, course.mark from course JOIN user.id=course.user_id;
这将返回用户名和他们的标记
但是在 ZF2 中,当我想使用 Zend\Db\Sql\Select 获得这样的结果时;不会工作。我正在使用 Zend\Db\Sql\Select,因为正在使用分页。
zf2 User Model
public function fetchAll($pagination = FALSE)
{
if($pagination)
{
// create a new Select object for the table album
$sql = new Sql($this->tableGateway->getAdapter());
$select = $sql->select();
$select->from('course');
$select->join('user', 'user.id = course.user_id',
array('user.name','course.mark')
);
// create a new result set based on the Album entity
$resultSetPrototype = new ResultSet();
$resultSetPrototype->setArrayObjectPrototype(new Course());
// create a new pagination adapter object
$paginatorAdapter = new DbSelect(
// our configured select object
$select,
// the adapter to run it against
$this->tableGateway->getAdapter(),
// the result set to hydrate
$resultSetPrototype
);
$paginator = new Paginator($paginatorAdapter);
return $paginator;
}
$resultSet = $this->tableGateway->select();
return $resultSet;
}
我还应该创建一个用户模型吗?目前,我只有 CourseTable