私は2つのデータベーステーブルを持っています.
1. gallery -> id, title, description
2. gallery_images -> image_id, gallery_id, name, image_title, thumb_name, image_name
Admin_Model_GalleryImages を使用して特定の gallery_id の画像を選択することができ、結果の配列は次のようになります -
Array (
[0] => Array (
[image_id] => 1
[gallery_id] => 24
[image_title] => NICEIC.png
[thumb_name] => thumb_.6386527349.png
[image_name] => 6386527349.png )
[1] => Array (
[image_id] => 2
[gallery_id] => 24
[image_title] => gas_safe_logo_monoblack.png
[thumb_name] => thumb_2100528832.png
[image_name] => 2100528832.png )
ギャラリー モデルのコード:
require_once 'Zend/Db/Table/Abstract.php';
require_once APPLICATION_PATH . '/modules/admin/models/Gallery.php';
class Admin_Model_GalleryImages extends Zend_Db_Table_Abstract {
protected $_name = 'gallery_images';
protected $_referenceMap = array(
'Gallery' => array(
'columns' => array('gallery_id'),
'refTableClass' => 'Admin_Model_Gallery',
'refColumns' => array('id'),
'onDelete' => self::CASCADE,
'onUpdate' =>self::RESTRICT
)
);
public function getImages($id){
$galleryImages = new self();
$galleryRowset = $galleryImages->select();
$galleryRowset->where('gallery_id='.$id);
$images = $galleryImages->fetchAll($galleryRowset);
return $images;
コントローラの listimages アクション:
public function listimagesAction(){
$id = $this->_getParam('id');
$currentImages = Admin_Model_GalleryImages::getImages($id);
if ($currentImages->count() > 0) {
$this->view->galleryImages = $currentImages;
} else {
$this->view->galleriesImages = null;
}
}
しかし、次のように、2 番目のテーブルの結果とともに 1 番目のテーブルの結果が必要です。
Array (
[0] => Array (
[image_id] => 1
[gallery_id] => 24
[image_title] => NICEIC.png
[thumb_name] => thumb_.6386527349.png
[image_name] => 6386527349.png
[id] => 24
[title] => Somename
[description] => description )
findDependentRowsetを使用してみましたが、機能しませんでした。どうすればこれを達成できるか教えてください。どんな助けでも大歓迎です。