我對使用Laravel非常新,因此對於雄辯。我對Eloquent的餐桌關係感到困惑。在Laravel雄辯中獲取多個記錄加入
現在我明白瞭如何實現簡單連接,像Laravel 4.2的文檔中的例子對於一個一對多的關係,其中comment
屬於一個post
,但post
可以有很多comments
。他們用這個語法從一個職位獲得的評論:
Post::find(1)->comments;
其中,在MySQL,大概是這樣的:
SELECT * FROM comments
JOIN posts ON posts.id=comments.post_id
WHERE posts.id=1
,如果我想要得到的結果是什麼東西像這樣的得到的不僅僅是一行:
SELECT * FROM comments
JOIN posts ON posts.id=comments.post_id
我知道根據上面給出的例子沒有太大意義。但我如何在雄辯中做到這一點?
爲了給出更多的細節,我實際上試圖做的是顯示我的兩張表assets
和asset_classifications
的連接結果。 asset
屬於一個asset_classification
,並且asset_classification
有許多assets
。
我試圖顯示assets
的表格數據,其中包括他們的asset_classifications
。在MySQL中,它是這樣的:
SELECT * FROM assets
JOIN asset_classifications ON asset_classifications.id=assets.classification_id
我該如何在Eloquent中執行它?
不,這不是你在MySQL中所想的 - 有2個獨立的查詢運行。而且您需要http://laravel.com/docs/eloquent#eager-loading或者如果您願意,那麼只需使用'join()'方法 – 2014-09-30 09:25:48
@JarekTkaczyk謝謝!我會給它一個閱讀。 – christianleroy 2014-09-30 09:31:31
閱讀文檔,接下來您可以查看http://softonsofa.com/querying-relations-in-laravel-4-nested-relation/和其他文章。 – 2014-09-30 10:32:49