2016-03-05 64 views
-1

我如何在nette數據庫中做一個非常簡單的連接,導致這樣的查詢?如何在nette數據庫中做一個簡單的JOIN

SELECT * FROM Book LEFT OUTER JOIN Author ON Book.author_id = Author.id 

我已經找到了如何加入與在clausules,ORDER BY,GROUP BY,什麼不可以,但不是單一的教程一個簡單的加入類似這樣的組合無窮無盡的教程。

我忘了指定,我使用PHP,所以我需要類似$context->table('Book')->join('author');,但那當然不起作用。

+0

我試過使用一些總是爲true的條件,但只返回來自連接表(本例中爲作者)的數據。是的,將SQL查詢翻譯成僅用於翻譯的nette似乎毫無用處,但我試圖投入一些時間,從長遠來看,這會花費更多複雜的查詢結構。 – kajacx

回答

0

你不需要參加在這種情況下,•奈特爲您提供表之間的關係,所以你可以做這樣的事情:

foreach($connection->table('book') as $book){ 
    echo 'Book name: '.$book->name.'<br>' 
    echo 'Book autor: '.$book->author->name.'<br>' 
} 

我的書表,則預計有列AUTHOR_ID這是外鍵作者表。

0

問題已答覆,所以我只添加一個音符。

你不能使用Nette數據庫進行連接,沒有連接功能。舉例來說,您可以通過引用另一個表列來強制執行連接,但它非常有限。如果你需要更復雜的連接,你最好使用Dibi而不是Nette數據庫。