我正在通过“入门:骨架应用程序”教程学习 ZF2。
我用外键“artist_id”更新表“专辑”,它连接到新表“艺术家”的“id”。
CREATE TABLE `album` (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`artist_id` INT(11) NOT NULL,
`title` VARCHAR(100) NOT NULL,
PRIMARY KEY (`id`),
INDEX `FK_album_artists` (`artist_id`),
CONSTRAINT `FK_album_artists` FOREIGN KEY (`artist_id`) REFERENCES `artists` (`id`)
)
COLLATE='utf8_general_ci'
ENGINE=InnoDB;
CREATE TABLE `artists` (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`name` VARCHAR(50) NULL DEFAULT NULL,
PRIMARY KEY (`id`)
)
COLLATE='utf8_general_ci'
ENGINE=InnoDB;
我想知道如何在没有 sql join 的情况下从专辑对象中检索艺术家的姓名。
在控制器中
// module/Album/src/Album/Controller/AlbumController.php:
// ...
public function indexAction()
{
return new ViewModel(array(
'albums' => $this->getAlbumTable()->fetchAll(),
));
}
// ...
在视图中
// module/Album/view/album/album/index.phtml:
foreach ($this->albums as $album) {
echo "Artist's name : " . $album->getArtist()->name . "<br />";
}
我如何以及在哪里使 getArtist() 方法做我想做的事?