Php Laravel捕获/覆盖获取/选择查询事件
因此,我正在开发一个应用程序,其中我需要使用laravel使用的任何方法来缓存特定的Php Laravel捕获/覆盖获取/选择查询事件,php,laravel,caching,laravel-5.3,Php,Laravel,Caching,Laravel 5.3,因此,我正在开发一个应用程序,其中我需要使用laravel使用的任何方法来缓存特定的SELECT查询,例如find、all、SELECT、get,等等 我知道有些事件需要捕捉。对于SELECTish类型的查询,是否存在类似的问题?在某个地方,我看到可以使用newfromguilder方法捕获获取查询: public function newFromBuilder($attributes = array()) { $instance = parent::newFromBuilder($at
SELECT
查询,例如find
、all
、SELECT
、get
,等等
我知道有些事件需要捕捉。对于SELECT
ish类型的查询,是否存在类似的问题?在某个地方,我看到可以使用newfromguilder
方法捕获获取查询:
public function newFromBuilder($attributes = array())
{
$instance = parent::newFromBuilder($attributes);
$instance->fireModelEvent('loaded', true);
return $instance;
}
但我认为只有在实际运行查询之后才能使用上面的方法,而我希望覆盖任何获取查询以将它们添加到缓存中
另外,我知道我可以在一些Laravel Pcakages的帮助下使用CacheTags
,但问题是我没有任何支持CacheTags的驱动程序
谢谢你的帮助。好的,我想我已经解决了,我们可以覆盖newBaseQueryBuilder
:
protected function newBaseQueryBuilder()
{
$conn = $this->getConnection();
$grammar = $conn->getQueryGrammar();
$builder = new Builder($conn, $grammar, $conn->getPostProcessor());
// do our stuff with builder
return $builder;
}
好的,我想我已经解决了,我们可以覆盖newBaseQueryBuilder
:
protected function newBaseQueryBuilder()
{
$conn = $this->getConnection();
$grammar = $conn->getQueryGrammar();
$builder = new Builder($conn, $grammar, $conn->getPostProcessor());
// do our stuff with builder
return $builder;
}
我只想知道哪个
Builder
正在使用。这是一个数据库生成器或查询生成器。我只想知道哪个Builder
正在使用。它是一个数据库生成器或查询生成器。