gpt4 book ai didi

CakePHP hasOne/belongsTo 模型关系

转载 作者:行者123 更新时间:2023-12-02 11:10:01 28 4
gpt4 key购买 nike

我有一些模型正在尝试关联。

一种模型是 Item,一种是 Slide,另一种是 Asset

项目下方有多个幻灯片。 Assets 基本上是已上传的文件(图像、mp3 等),幻灯片是显示 Assets 的位置。每张幻灯片都有一个 Assets ,但给定的 Assets 可能属于多张幻灯片。幻灯片定义了 asset_id 字段。

我目前将模型定义为:

幻灯片

class Slide extends AppModel {
var $name = 'Slide';

var $order = array("Slide.order" => "asc");

var $belongsTo = 'Item';

var $hasOne = array(
'Asset' => array(
'className' => 'Asset',
'foreignKey' => 'id',
'dependent' => false
)
);

} // Slide class

Assets

class Asset extends AppModel {
var $name = 'Asset';

var $displayField = 'name';

var $belongsTo= array(
'Assetdir' => array(
'className' => 'Assetdir',
'foreignKey' => 'assetdir_id'
),
'Slide' => array(
'className' => 'Slide',
'foreignKey' => 'id'
)
);
} // Asset class

当我加载幻灯片时,我看到它的父元素 Item 在返回的数据中出现,但关联的资源却没有出现。我在这里做错了什么?

最佳答案

实际上我认为这是Slide和Asset之间的一对多关系。来自 Model associations page :belongsTo:当前模型包含外键。因此,任何具有另一个模型的外键的模型都属于另一个模型。

所以我的看法是:

项目:

  • 有很多幻灯片

幻灯片:

  • belongsTo Item(带有 item_id)
  • 属于 Assets (带有 asset_id)

Assets :

  • 有很多幻灯片

要检索您想要的关联模型,我建议查看 Containable behavior .

关于CakePHP hasOne/belongsTo 模型关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8249612/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com