CakePHP 中关联模型的名称

Posted

技术标签:

【中文标题】CakePHP 中关联模型的名称【英文标题】:Name of associative model in CakePHP 【发布时间】:2011-11-02 14:10:31 【问题描述】:

起初对不起我的英语。 我在 Cakephp 的关联模型中遇到了问题。例如当我绑定两个以上模型时

$this->专辑->bindModel( 大批( 'hasMany'=>数组( '照片'=>数组( 'className'=>'照片' ), '专辑'=>数组( 'className'=>'专辑' ) ) ) );

我有:

大批 ( [专辑] => 数组 ( [id] => 22 [f_name] => 一些专辑 [0] => 数组 ( [id] => 19 [f_name] => 另一张专辑 [id_parent] => 22 [照片] => 数组 ( ……

有没有办法在父表中设置一个键?我的意思是我不想有“0”作为键,可以有“Album1”、“Album2”等等。

【问题讨论】:

【参考方案1】:

问题可能源于以相同名称将模型绑定到自身。专辑有很多专辑可能会在某个地方绊倒蛋糕。为关联使用唯一的名称,例如 Album hasMany SubAlbum。

【讨论】:

我知道它自己的模型中有一个模型。我写了一个例子,在方面还有其他表。有某种对象的层次结构树。一个对象具有相同类型(相册->相册)或另一种类型(相册->照片)的子对象。无论如何 - 如何在关联中设置模型的别名? 你已经快到了:$this->Album->bindModel( array( 'hasMany'=>array( 'SomeOtherName'=>array( 'className'=>'Photo' ) ) ) );

以上是关于CakePHP 中关联模型的名称的主要内容,如果未能解决你的问题,请参考以下文章

CakePHP:将数据保存到 3 个不同的模型

CakePHP 3中关于belongsToMany关联的问题

在 cakePHP 上使用单数和复数模型名称访问模型的差异

错误:在 cakephp 的非对象上调用成员函数 create(),即使模型的名称已经定义

CakePHP 模型链接,belongsTo,hasOne

CakePHP中如何获取表的字段名