CakePHP FindAllBy Условия для галереи изображений - PullRequest
0 голосов
/ 20 июня 2011

Как мне сказать CakePHP 1.3, чтобы он вытягивал все изображения с одинаковым gallery_id, совпадающим с gallery_id текущего представления изображений?Я пытаюсь найти все изображения для галереи, используя FindAllByGalleryId.В представлении есть одно большое изображение для просмотра изображений и миниатюры под ним всех других изображений в той же галерее.

Все работает, когда я ввожу фактический идентификационный номер галереи (как показано здесь), но этоИдентификационный номер галереи изменяется в зависимости от того, какую галерею просматривают - поэтому я не хочу, чтобы она была установлена ​​на конкретный номер - я хочу, чтобы он совпадал с gallery_id просматриваемого изображения.

$this->set(
    'all_images',
    $this->Image->findAllByGalleryId('2')

);

Требуется установить текущий gallery_id в качестве переменной, а затем указать условиям поиска, чтобы они соответствовали.Проблема в том, что у меня нет правильного синтаксиса, поэтому возникает ошибка, что переменная gallery_id не существует.

Я попытался установить условия поиска для Image.gallery_id => '$ gallery_id' и аналогичных ударов при определении идентификатора gallery_id текущего элемента, который должен быть сопоставлен, но я не знаю, как работать с этим в течение некоторого времени.Любое направление будет принята с благодарностью !!!

Ответы [ 2 ]

0 голосов
/ 20 июня 2011

Я предполагаю, что когда вы получаете информацию об изображении (отображаемом большом), вы также получаете идентификатор галереи.

Так что в основном в findByAllGalleryID вы должны вставить данные, соответствующиеидентификатор галереи, что-то вроде: $ this-> data ['Image'] ['gallery_id'];

Таким образом, независимо от того, какое изображение вы просматриваете, вы должны получить список всех других изображений вта же галерея.

0 голосов
/ 20 июня 2011

Попробуйте использовать $this->set('all_images', $this->Image->findAllByGalleryId($this->Image->data['Image']['gallery_id']));

...