0

我正在为一个项目尝试 php-activerecord——我以前在 Lithium 和 CodeIgniter 中使用过它——但我被困在我认为应该很容易的事情上。但我根本无法绕过它。

所以,我有两张桌子:

post       |id  |title  |content
           ----------------------
           |1   |Test   |Lorem...

和:

post_meta  |id  |post_id  |publish_date
           ----------------------------
           | 1  |1        |2013-03-23

现在,如果我想匹配titlepost 表中publish_date的 和 post_meta-table 中的 ——我将如何以最简单和最优雅的方式进行?

就目前而言,我似乎必须执行两个单独的查询,首先在元表中提取具有正确发布日期的帖子 - 然后循环遍历该帖子,直到找到匹配的标题。或者我可以使用关系($has_one$belongs_to)——但是当我想提取我的后期数据()时,感觉就像我在做“相反的方式” $postMetas->post->content

随意提出想法和解决方案——甚至是 ORM 的替代方案,使其尽可能简单和优雅。

4

1 回答 1

2

您可以在查找器中使用连接结构。查看手册的这一部分

基本上,它说您可以使用已知连接加入,并将这些连接用作返回的基础。该页面上的书籍示例非常好,请参阅:

# fetch all books joining their corresponding author
 7 $book = Book::all(array('joins' => array('author')));
 8 # sql => SELECT `books`.* FROM `books`
 9 #      INNER JOIN `authors` ON(`books`.author_id = `authors`.id)
于 2013-03-24T14:20:28.360 回答