我是 Zendframework 2 的新手。我正在尝试加入两个表并显示结果。
两张表是。作品和艺术家。这些表是根据艺术家 ID 连接的。
第 1 步> 在模型第 2 步中创建 2 个类(作品、艺术家)> 在 WorksTable 我有以下代码
class WorksTable extends AbstractTableGateway
{
protected $table ='works';
public function __construct(Adapter $adapter)
{
$this->adapter = $adapter;
$this->resultSetPrototype = new HydratingResultSet(
new ArraySerializableHydrator(),
new Works()
);
$this->resultSetPrototype->buffer();
$this->initialize();
}
public function fetchAll()
{
$select = $this->getSql()->select();
$select->join('works','artists.artist_id = artist_id ');
//create paginator object to display records
$paginator = new Paginator(
new DbSelect($select, $this->adapter, $this->resultSetPrototype)
);
return $paginator;
}
}
STEP 3> 在控制器中,我定义了以下代码
public function searchAction()
{
$request = $this->getRequest();
$paginator = $this->getWorksTable()->fetchAll();
// $paginator->setItemCountPerPage(12);
$vm = new ViewModel(array(
'poster' => $paginator,
));
$vm->setVariable('paginator', $paginator);
return $vm;
}
对于语句 $paginator->setItemCountPerPage(12); 得到错误
信息:
SQLSTATE[42000]: Syntax error or access violation: 1066 Not unique table/alias: 'works'
有没有人遇到过这个错误?关于如何解决这个问题的任何想法?