PHP ActiveRecord-在模型中找不到关联
我正在使用Codeigniter 2.1.0和,我无法通过查找表创建多对多关联。 每当我加载事件模型时,它都会以“无法在模型事件中找到关联事件类别”失败,这是一个ActiveRecord\HasManyThroughAssociationException 根据我的建议,我尝试更新我的源代码,但没有效果 我还遵循并基于那里给出的解决方案建立了我的关联 我最终得到了以下sql: 以及以下型号: 我试图将一个事件与几个类别联系起来,例如,一个足球比赛事件可以有“运动”、“家庭”和“乐趣”类别PHP ActiveRecord-在模型中找不到关联,php,codeigniter,orm,phpactiverecord,Php,Codeigniter,Orm,Phpactiverecord,我正在使用Codeigniter 2.1.0和,我无法通过查找表创建多对多关联。 每当我加载事件模型时,它都会以“无法在模型事件中找到关联事件类别”失败,这是一个ActiveRecord\HasManyThroughAssociationException 根据我的建议,我尝试更新我的源代码,但没有效果 我还遵循并基于那里给出的解决方案建立了我的关联 我最终得到了以下sql: 以及以下型号: 我试图将一个事件与几个类别联系起来,例如,一个足球比赛事件可以有“运动”、“家庭”和“乐趣”类别 我错过
我错过了一些基本的东西吗?我无法测试所有东西,因为我没有一个数据库可以将您的代码转储到其中(也没有任何测试数据:),但您的代码与手册有些不同 如果您查看此页面: 你看到三张桌子,像这样的地图(我想) 一个
类别
有多个事件
通过事件类别
,就像一个订单
有多个用户
通过支付
。另一种方法定义得更基本(一个用户
拥有订单
)
在定义了2个“通过”关系的情况下,此示例在顺序
类中只有一个关系,而用户
只剩下一个多个
。这是一个很大的区别,我想你可能需要解决
此外,我也不确定您在本部分中所做的外键定义:
array('events', 'foreign_key' => 'event_id',
array('through' => 'eventcategories', 'foreign_key' => 'event_id')
如果你已经有了默认的命名方案,你就不需要为它们显式命名了
要修复它,我将从订单/用户/付款示例开始,检查它是否适合您,然后替换所有部分(小心:),使其成为您的代码 我无法测试所有内容,因为我没有可以将您的代码转储到其中的数据库(也没有任何测试数据:),但您的代码与手册有些不同
如果您查看此页面:
你看到三张桌子,像这样的地图(我想)
一个类别
有多个事件
通过事件类别
,就像一个订单
有多个用户
通过支付
。另一种方法定义得更基本(一个用户
拥有订单
)
在定义了2个“通过”关系的情况下,此示例在顺序
类中只有一个关系,而用户
只剩下一个多个
。这是一个很大的区别,我想你可能需要解决
此外,我也不确定您在本部分中所做的外键定义:
array('events', 'foreign_key' => 'event_id',
array('through' => 'eventcategories', 'foreign_key' => 'event_id')
如果你已经有了默认的命名方案,你就不需要为它们显式命名了
要修复它,我将从订单/用户/付款示例开始,检查它是否适合您,然后替换所有部分(小心:),使其成为您的代码 我可以补充一点,根据这里的文档,我似乎不明白我做错了什么。当需要点击粘贴站和你发布的所有链接时,很难得到一个完整的图片,所以没有答案,但我要寻找的是:它与多元化一起工作吗?(类别)?你能给自己举个简单的例子吗?@Nanne嗨,我试过复数/单数,但不幸的是不是。(我对你的示例声明有点困惑,你想让我写一个示例并发布在这里,还是简单地将其用于我自己的复数/单数测试?)Thnx用于查看它=)好吧,两者都有,如果你有一个简单的方法在这里给出问题,而不必单击pastebin,讨论te问题更容易:)我可以补充一点,根据这里的文档,我似乎无法理解我做错了什么。当需要点击粘贴站和你发布的所有链接时,很难获得完整的图片,所以没有答案,但我想问的是:它与多元化一起工作吗?(类别)?你能给自己举个简单的例子吗?@Nanne嗨,我试过复数/单数,但不幸的是不是。(我对你的示例声明有点困惑,你想让我写一个示例并发布在这里,还是简单地将其用于我自己的复数/单数测试?)Thnx用于查看它=)好吧,两者都有,如果你有一个简单的方法在这里给出问题,而不必单击pastebin,讨论te问题更容易:)我花了整整一周的时间试图解决这个问题,phpar处理的是简单的模型,而不是更复杂的东西。考虑到你的建议,我决定从头开始建立phpar,就在那时我注意到了。。。我加载了CIs自己的活动记录,出于某种原因,这与phpar的基本用法没有冲突。啊,好吧,我现在就去办公室跳舞;顺便说一句,外键方面你可能是对的,不过现在一切正常,所以我不会碰它;)听起来它又走对了,祝你好运跳舞:)我花了整整一周的时间试图弄明白,phpar处理的是简单的模型,而不是更复杂的东西。考虑到你的建议,我决定从头开始建立phpar,就在那时我注意到了。。。我加载了CIs自己的活动记录,出于某种原因,这与phpar的基本用法没有冲突。啊,好吧,我现在就去办公室跳舞;顺便说一句,外键方面你可能是对的,不过现在一切正常,所以我不会碰它;)听起来又走对了,祝你好运跳舞:)