【问题标题】:CakePHP FindAllBy Conditions for image galleryCakePHP FindAllBy 图片库的条件
【发布时间】:2011-06-20 05:35:55
【问题描述】:

我如何告诉 CakePHP 1.3 拉取所有具有与当前图像视图的 gallery_id 相同的 gallery_id 的图像?我正在尝试使用 FindAllByGalleryId 查找图库的所有图像。在视图中,图片视图有一张大图片,其下方是同一图库中所有其他图片的缩略图。

当我输入实际的画廊 ID 号(如此处所示)时,一切正常,但画廊 ID 号会根据正在查看的画廊而变化 - 所以我不希望将其设置为特定数字 - 我想要它与正在查看的图像的 gallery_id 匹配。

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

);

所需的是将当前的gallery_id设置为变量,然后告诉Find条件匹配它。问题是我没有正确的语法,所以出现了 gallery_id 变量不存在的错误。

我已经尝试将查找条件设置为 'Image.gallery_id' => '$gallery_id' 和类似的刺,以识别要匹配的当前项目的gallery_id,但在工作了一段时间后我一无所知。任何方向将不胜感激!!!

【问题讨论】:

    标签: php mysql cakephp cakephp-1.3


    【解决方案1】:

    尝试使用$this->set('all_images', $this->Image->findAllByGalleryId($this->Image->data['Image']['gallery_id']));

    【讨论】:

    • 谢谢,弗朗索瓦...我收到错误消息--未定义变量:gallery_id [images_controller.php]
    • @Jamie - 您可以发布在您的问题中显示画廊的控制器操作吗?
    • @Jamie - 我想我可能误读了你的问题。试试这个:$this->Image->findAllByGalleryId($this->Image->data['gallery_id']);.
    • 太棒了!我在您的答案和 YonoRan 的答案之间找到了解决方案: $this->set('all_images', $this->Image->findAllByGalleryId($this->Image->data['Image']['gallery_id'])) ;一百万谢谢弗朗索瓦!!!!!!!!!!!!
    【解决方案2】:

    我假设当您获得有关图像(显示的大图像)的信息时,您也会获得画廊 ID。

    所以基本上你应该在 findByAllGalleryID 中输入与画廊 ID 对应的数据,例如:$this->data['Image']['gallery_id'];

    这样,无论您查看什么图像,您都应该获得同一图库中所有其他图像的列表。

    【讨论】:

    • 非常感谢 YonoRan!在你和弗朗索瓦之间,我省了很多麻烦。
    猜你喜欢
    • 1970-01-01
    • 2015-12-13
    • 1970-01-01
    • 2012-05-01
    • 1970-01-01
    • 2023-04-09
    • 2016-08-30
    • 1970-01-01
    • 2011-10-06
    相关资源
    最近更新 更多