phpactiverecord通过第二个表关联

时间:2012-08-30 23:38:22

标签: php has-many-through phpactiverecord

好的,我希望能够正确解释这一点,所以这里有。我正在使用phpActiveRecord并尝试通过另一个关联创建一个特定的关联。使用链接表并不是很多,因为我已经能够创建没有任何实际问题的那些。让我告诉你详细信息......

这是一个已经存在的数据库架构,在命名表或字段时没有考虑到AR。所有表都是单一引用,引用其他表的所有字段都以“fk_”为前缀,并且不遵循正常的命名方案。该协会是从文章到网站到客户。客户可以有很多网站,网站可以有很多文章。目标是能够通过网站从文章中引用客户。到目前为止,这就是我所拥有的:

Client
  $has_many (
    array('websites', 'foreign_key' => 'fk_client_id')
  )

Website
  $belongs_to (
    array('client', 'foreign_key' => 'fk_client_id')
  )
  $has_many (
    array('articles', 'foreign_key' => 'fk_website_id_client')
  )

Article
  $belongs_to (
    array('client_website', 'class_name' => 'Website', 'foreign_key' => 'fk_website_id_client'),
    array('client', 'through' => 'client_website')
  )

我已经简化了一些代码,所以不,我不会忘记'='符号或类似的东西。现在,访问client_website会返回正确的对象,以便关联起作用。向相反方向钻孔也行,我可以看到每个客户有多个网站,还有多个通过网站发表的文章。这似乎应该工作正常...我只是缺少一些基本的东西,但我似乎无法找到它。我觉得这是一个问题,字段名称被标记为奇怪,但我无法验证。

感谢您提供任何帮助!

0 个答案:

没有答案