【问题标题】:CakePHP model assosciation: View product imageCakePHP 模型关联:查看产品图片
【发布时间】:2013-01-27 20:18:29
【问题描述】:

我有一个产品模型,每个产品都有几个图像。所以Product-hasMany-Image.

现在,当我浏览某些产品时,我可以看到它拥有的图像,但当我在索引中列出产品时却无法查看图像。 我应该如何从产品中获取第一张图片以将其显示在索引中?

我能设法处理这个问题的唯一方法是在Productscontroller 中使用Image 模型,但我想这不是最好的选择。

编辑: 大多数东西就像烤后一样。默认情况下,列出所有产品时是否显示 hasMany?

型号:

class Product extends AppModel {
var $hasMany = array(
    'Image' => array(
        'className' => 'Image',
        'foreignKey' => 'parent_id',
        'dependent'=> false
    ),
);    }

【问题讨论】:

  • 您能否提供一些您正在使用的代码示例?
  • 如果它是新鲜出炉的,这个功能已经存在——即使recursive=0 cake 应该返回产品和它的相关图像。由于在查看产品时可以查看图像,因此您应该发布products的索引方法。

标签: php cakephp cakephp-model


【解决方案1】:

当您使用了 bake 脚本时,您的 index 操作很可能会包含以下行:

$this->Product->recursive = 0;

这将禁用您设置的所有关系。注释/删除此行,您应该能够正确显示图像(它应该在 $this->data['Product']['Image'] 下)。

【讨论】:

  • 好的,我认为这是问题所在,我不知道为什么默认情况下存在这条线。谢谢!
  • 这一行默认存在,因为烘焙脚本假定它只为给定模型创建索引表。但很多时候您还希望显示来自相关模型的数据,因此应该删除此行。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多