尝试在保存时在CakePHP HABTM关系中保存重复的关联

Mattcoco35

我也想知道这个答案-https: //stackoverflow.com/questions/24447879/cakephp-habtm-i-want-duplicates-at-save

我已经尝试过一些关于unique = false,saveAll saveAssocaited,数组格式的其他事情。没运气。

我的特定示例正在传递此数据数组,并且在我的AvailablePackageController中使用saveAll:

'AvailablePackage' => array(
    'title' => 'Tester',
    'description' => 'Tester description',
    'price' => '500.00',
    'image' => array(
        'name' => '',
        'type' => '',
        'tmp_name' => '',
        'error' => (int) 4,
        'size' => (int) 0
    )
),
'AvailableLesson' => array(
    'AvailableLesson' => array(
        (int) 0 => '23',
        (int) 1 => '23',
        (int) 2 => '23',
        (int) 3 => '9',
        (int) 4 => '9'
    )
)

如您所见,我希望此“可用软件包”具有“可用课程” 23,并且关联了3次。与在包中一样,您可以在3节课中重复同样的课程(在这种情况下)。

HABTM已正确设置,并且可以按预期工作。在上面的代码中,它保存了2行,一列为23,一列为9。因此,关系的配置没有问题。它只是不会保存重复项。

任何帮助将不胜感激。谢谢。

AD7six

那是一个复杂的HABTM关系

在文档中提到

默认情况下,保存HasAndBelongsToMany关系时,CakePHP将在保存新行之前删除联接表上的所有行。例如,如果您有一个包含10个子级的俱乐部。然后,您更新有2个孩子的俱乐部。俱乐部只有2个孩子,没有12个孩子。

不要为此使用HABTM,请将联接表设为模型

Habtm关系很简单:

Thing <-has and belongs to many-> OtherThing

如果两个模型之间的链接数具有一定意义,那么几乎可以肯定这不是简单的HABTM关系,而实际上是其他原因,例如

  • 比赛有很多获胜者
  • 优胜者属于竞赛
  • 优胜者属于用户
  • 优胜者所属奖项
  • (优胜者有财产)
  • 用户有很多奖

在这种情况下,使联接表成为模型,将其视为hasMany关系,并且使用HABTM操纵数据的问题就消失了。

仍然可以在需要和适当时使用HABTM关系。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

HABTM关联未保存-CakePHP

来自分类Dev

HABTM与Strong Parameters的关联不会在Rails 4中保存用户

来自分类Dev

CakePHP保存HABTM数据

来自分类Dev

尝试保存实体之间的多对多关系时,关联表为空

来自分类Dev

在Laravel中保存多态关系

来自分类Dev

尝试保存NSManagedObject时崩溃

来自分类Dev

尝试保存图像时出错

来自分类Dev

尝试保存分数时出错?

来自分类Dev

尝试保存小数时始终保存999.999999

来自分类Dev

尝试使用Swift在NSUserDefaults中保存图像时出错

来自分类Dev

Rails activeadmin 在关联表中保存数据

来自分类Dev

保存数据时出现cakephp错误

来自分类Dev

CakePHP显示HABTM关联

来自分类Dev

CakePHP:保存HABTM数据MySQL错误

来自分类Dev

使用Cakephp 3保存关联

来自分类Dev

Cakephp 3.0保存关联的模型

来自分类Dev

使用Cakephp 3保存关联

来自分类Dev

在解析中保存基本关系

来自分类Dev

如何以正确的方式在Rails上保存HABTM关系

来自分类Dev

尝试保存到NSUserdefaults时出错

来自分类Dev

尝试快速保存捕获的图像时出错

来自分类Dev

在cakephp中保存多个索引数组的值

来自分类Dev

如何在cakePHP中保存此数据?

来自分类Dev

在cakephp 3中保存数据

来自分类Dev

“保存时发现了循环依赖关系。” 尝试保存指向现有解析对象的指针时

来自分类Dev

cakephp 3多级关联保存

来自分类Dev

CakePHP保存非常深入的关联模型

来自分类Dev

Cakephp 3 - 保存关联的belongsToMany(joinTable)

来自分类Dev

CakePHP 保存有许多关联