【发布时间】:2014-11-30 14:57:55
【问题描述】:
我有一个包含许多原始查询的存储库,例如:
DB::select(DB::raw(
'SELECT stuffFields
FROM stuffTable
A NUMBER OF COMPLEX JOINS, ETC'
));
我想缓存此查询的结果,但遇到了几个问题:
1) 我做不到 ->remember(60),因为 Fluent 查询不是使用 table() 方法启动的。
2) 我做不到
DB::table('stuffTable')
->select(DB::raw(
'stuffFields
A NUMBER OF COMPLEX JOINS, ETC'
))->get();
因为存在这些连接,并且 FROM 子句被附加在查询的末尾(连接之后),这会引发 SQL 语法错误。
我也无法在 join() 方法中显示连接,因为它们包含嵌套查询(有没有办法执行 rawJoin()...我找不到类似的东西?)。
谁能建议一种方法来重组 Fluent 调用或缓存此类原始查询的常用方法?
【问题讨论】:
标签: php mysql caching laravel laravel-4