CakePHP hasOne / belongsTo模型关系

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了CakePHP hasOne / belongsTo模型关系脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
@H_512_0@
我有一些我试图联系的模型.

一个模型是ITem,一个是Slide,另一个是Asset.

项目下面有多个幻灯片.资产基本上是已上传文件(图像,mP3等),幻灯片显示资产的位置.每张幻灯片都有一个资产,但给定资产可能属于多个幻灯片.幻灯片定义了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

财富

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在返回的数据中出现,但关联的资产却没有.我在这做错了什么?

解决方法

实际上我认为这是幻灯片和资产之间的一对多关系.从 Model associations page:belongsTo:当前模型包含外键.因此,任何具有另一个外键的模型都属于另一个.

所以我看待它的方式:

项目:

> hasmany Slide

滑动:

> belongsTo Item(with item_id)
> belongsTo Asset(with asset_id)

资产:

> hasMany Slide

为了检索你想要的相关模型,我建议查看Containable behavior.

脚本宝典总结

以上是脚本宝典为你收集整理的CakePHP hasOne / belongsTo模型关系全部内容,希望文章能够帮你解决CakePHP hasOne / belongsTo模型关系所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。