如何在nette数据库中进行非常简单的连接,从而产生这样的查询?
SELECT * FROM Book LEFT OUTER JOIN Author ON Book.author_id = Author.id
我已经找到了关于如何加入的无限教程,其中包括clausules,order by,group by和what not,但不是关于这样的简单连接的单一教程。
我忘了指定,我使用PHP,所以我需要像$context->table('Book')->join('author');
这样的东西,但那当然不起作用。
答案 0 :(得分:1)
在这种情况下你不需要加入,Nette为你提供表之间的关系,所以你可以这样做:
foreach($connection->table('book') as $book){
echo 'Book name: '.$book->name.'<br>'
echo 'Book autor: '.$book->author->name.'<br>'
}
我希望在书表中有专栏author_id,这是作者表的外键。
答案 1 :(得分:1)
问题已经回答了,所以我只添加了一个注释。
你无法使用Nette Database进行连接,没有连接功能。例如,您可以通过引用另一个表列来强制实施连接,但它非常有限。如果您需要更复杂的连接,最好使用Dibi而不是Nette Database。