我有一些原始查詢的資料庫,例如:Laravel緩存原始查詢
DB::select(DB::raw(
'SELECT stuffFields
FROM stuffTable
A NUMBER OF COMPLEX JOINS, ETC'
));
我想緩存從這個查詢的結果,但我遇到了一些問題:
1)我不能這樣做 - >記住(60),因爲Fluent查詢不是以table()方法啓動的。
2)我不能這樣做
DB::table('stuffTable')
->select(DB::raw(
'stuffFields
A NUMBER OF COMPLEX JOINS, ETC'
))->get();
因爲有這些連接和FROM子句中得到的查詢結束(在加入之後附加),而這將引發SQL語法錯誤。我不能帶出join()方法中的連接,因爲它們包含嵌套查詢(是否有執行rawJoin()的方法...我找不到那樣的東西?)。
任何人都可以提出一種方法來重組Fluent調用或緩存這種原始查詢的常見方法嗎?
如果使用查詢參數,這將不起作用,不幸的是,除非模擬預準備語句,否則沒有好的方法可以從PDO中取代帶有替代參數的sql。 – 2015-07-28 04:39:15