2016-01-08 54 views
0

我在Laravel雄辯中遇到了一個瓶頸問題。當運行邏輯來構建它是非常快速和簡單,而使用雄辯的查詢,但是,當它終於來使用$query->get()(由於行數和關係的行數),它嘎然而止,命中max execution time 。我顯然不想只是增加時間......而且我不想重寫所有函數來使用原始查詢(儘管我會,如果必須的話)。Laravel QueryBuilder to DB :: select

我的問題是,有沒有辦法將QueryBuilder sql命令傳遞給DB::selectDB::raw

我知道你可以使用$query->toSql() - 但我缺乏數據綁定值,如果我能得到這些,我可以在幾秒鐘內解決這個問題。

回答

1

通過調用$ query-> getBindings(),可以從查詢構建器獲得綁定。

+0

哦,請告訴我這不是*是*簡單... – LokiSinclair

+0

你是如何構建查詢?你是直接使用模型類還是使用數據庫外觀? –

+0

你說得對。天才!謝謝:)由於其複雜性,由於我需要的所有「額外」關係,我使用雄辯,並且它碰到許多表格。只是有道理。但是根據實際數據,我們正在談論數百萬行,我注意到它在創建大於25k行的模型時遇到了瓶頸。所以知道我不想要模型和原始查詢,但顯然不想重寫所有內容。你是個明星! – LokiSinclair