2
我在我的Laravel 5.4應用程序中遇到了一些問題,在我的數據庫中,我有幾個實體通過名爲的內部模型這樣的中心模型相關。如何通過Laravel中的數據透視表獲取相關模型?
Actor -> actors_contents -> Content
Category -> categories_contents -> Content
然後,我有三個是「內容」之類的視頻,照片等其他實體...
Video (content_id) -> Content
Photo (content_id) -> Content
Stream (content_id) -> Content
我想是可以的,比如所有的訪問對於來自Actor模型的特定演員的視頻,同時也能夠直接獲得視頻模型內的演員。
因此,從數據透視表中獲取當前Actor的content_id,然後找到匹配它的視頻。
我試圖使用hasManyThrough但在閱讀了一段時間後,我發現它不適用於多對多的關係,所以我的問題是我該如何使這項工作,否則呢? 我不想要定義我自己的關係或類似的東西,我可以猜測在模型上創建一個方法,只是做一些連接來獲得我想要的值,但是當比較時,這會在幕後產生影響Laravel的關係?
對於一個
->with(['relation'])
不會同意這種關係,因此我就不能急於加載它,這可能是有點問題,所以如何將你們解決這個不再起作用問題? 非常感謝您的幫助。
那工作,但這意味着我不能急於加載的關係,並將不得不創建一個額外的包裝類或存儲庫的自定義查詢,如果沒有其他選項,那麼我將不得不這樣做,但它是不幸的 – JonnySerra
@JonnySerra你可以渴望加載數據。只需在查詢中添加「with()」即可。 –