Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/291.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP ActiveRecord-在模型中找不到关联_Php_Codeigniter_Orm_Phpactiverecord - Fatal编程技术网

PHP ActiveRecord-在模型中找不到关联

PHP ActiveRecord-在模型中找不到关联,php,codeigniter,orm,phpactiverecord,Php,Codeigniter,Orm,Phpactiverecord,我正在使用Codeigniter 2.1.0和,我无法通过查找表创建多对多关联。 每当我加载事件模型时,它都会以“无法在模型事件中找到关联事件类别”失败,这是一个ActiveRecord\HasManyThroughAssociationException 根据我的建议,我尝试更新我的源代码,但没有效果 我还遵循并基于那里给出的解决方案建立了我的关联 我最终得到了以下sql: 以及以下型号: 我试图将一个事件与几个类别联系起来,例如,一个足球比赛事件可以有“运动”、“家庭”和“乐趣”类别 我错过

我正在使用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的基本用法没有冲突。啊,好吧,我现在就去办公室跳舞;顺便说一句,外键方面你可能是对的,不过现在一切正常,所以我不会碰它;)听起来又走对了,祝你好运跳舞:)