2016-09-06 42 views
2

我有一個帶有數據庫主從設置的Laravel 5.2項目。當運行類似Model::onWriteConnection()->with('relationship')->find($id)的東西時,只有find()查詢針對寫連接運行; with()查詢仍然針對從站運行。對數據庫寫連接的雄辯的預加載關係

此特定查詢必須針對主連接運行,因爲相關數據可能尚未複製到從屬設備。

有沒有辦法強制雄辯查詢的所有部分針對寫連接運行?

回答

1

試試這個:

Model::onWriteConnection()->with(['relationship'=>function($query){ 
    $query->useWritePdo(); 
}])->find($id) 

看看Constraining Eager Loads

+0

聰明!我沒有想到以這種方式使用急切的加載約束。但是,onWriteConnection()沒有在QueryBuilder上定義;但useWritePdo()是,它似乎工作!謝謝! – quakes