@@ -918,23 +918,25 @@ Pixie comes with powerful query events to supercharge your application. These ev
918918
919919#### Available Events
920920
921- | Event constant | Event value/name | Description |
922- | :------------------------------------ | :------------- | :------------ |
923- | ` EventHandler::EVENT_BEFORE_ALL ` | ` before-* ` | Event-type that fires before each query. |
924- | ` EventHandler::EVENT_AFTER_ALL ` | ` after-* ` | Event-type that fires after each query. |
925- | ` EventHandler::EVENT_BEFORE_SELECT ` | ` before-select ` | Event-type that fires before select query. |
926- | ` EventHandler::EVENT_AFTER_SELECT ` | ` after-select ` | Event-type that fires after insert query. |
927- | ` EventHandler::EVENT_BEFORE_INSERT ` | ` before-insert ` | Event-type that fires before insert query |
928- | ` EventHandler::EVENT_AFTER_INSERT ` | ` after-insert ` | Event-type that fires after insert query. |
929- | ` EventHandler::EVENT_BEFORE_UPDATE ` | ` before-update ` | Event-type that fires before update query. |
930- | ` EventHandler::EVENT_AFTER_UPDATE ` | ` after-update ` | Event-type that fires after update query. |
931- | ` EventHandler::EVENT_BEFORE_DELETE ` | ` before-delete ` | Event-type that fires before delete query. |
932- | ` EventHandler::EVENT_AFTER_DELETE ` | ` after-delete ` | Event-type that fires after delete query. |
921+ | Event constant | Event value/name | Description |
922+ | :------------------------------------ | :------------- | :------------ |
923+ | ` EventHandler::EVENT_BEFORE_ALL ` | ` before-* ` | Event-type that fires before each query. |
924+ | ` EventHandler::EVENT_AFTER_ALL ` | ` after-* ` | Event-type that fires after each query. |
925+ | ` EventHandler::EVENT_BEFORE_QUERY ` | ` before-query ` | Event-type that fires before a raw query is executed. |
926+ | ` EventHandler::EVENT_AFTER_QUERY ` | ` after-query ` | Event-type that fires after a raw query is executed |
927+ | ` EventHandler::EVENT_BEFORE_SELECT ` | ` before-select ` | Event-type that fires before select query. |
928+ | ` EventHandler::EVENT_AFTER_SELECT ` | ` after-select ` | Event-type that fires after insert query. |
929+ | ` EventHandler::EVENT_BEFORE_INSERT ` | ` before-insert ` | Event-type that fires before insert query |
930+ | ` EventHandler::EVENT_AFTER_INSERT ` | ` after-insert ` | Event-type that fires after insert query. |
931+ | ` EventHandler::EVENT_BEFORE_UPDATE ` | ` before-update ` | Event-type that fires before update query. |
932+ | ` EventHandler::EVENT_AFTER_UPDATE ` | ` after-update ` | Event-type that fires after update query. |
933+ | ` EventHandler::EVENT_BEFORE_DELETE ` | ` before-delete ` | Event-type that fires before delete query. |
934+ | ` EventHandler::EVENT_AFTER_DELETE ` | ` after-delete ` | Event-type that fires after delete query. |
933935
934936#### Registering Events
935937
936938``` php
937- $queryBuilder->registerEvent(EventHandler::EVENT_BEFORE_SELECT, 'users', function(QueryBuilderHandler $qb)
939+ $queryBuilder->registerEvent(EventHandler::EVENT_BEFORE_SELECT, 'users', function(QueryObject $qo, QueryBuilderHandler $qb)
938940{
939941 $qb->where('status', '!=', 'banned');
940942});
@@ -950,7 +952,7 @@ If you want the event to be performed when **any table is being queried**, provi
950952After inserting data into ` my_table ` , details will be inserted into another table
951953
952954``` php
953- $queryBuilder->registerEvent(EventHandler::EVENT_AFTER_INSERT, 'my_table', function(QueryBuilderHandler $qb, $insertId)
955+ $queryBuilder->registerEvent(EventHandler::EVENT_AFTER_INSERT, 'my_table', function(QueryObject $qo, QueryBuilderHandler $qb, $insertId)
954956{
955957 $qb
956958 ->table('person_details')->insert(array(
@@ -964,7 +966,7 @@ $queryBuilder->registerEvent(EventHandler::EVENT_AFTER_INSERT, 'my_table', funct
964966Whenever data is inserted into ` person_details ` table, set the timestamp field ` created_at ` , so we don't have to specify it everywhere:
965967
966968``` php
967- $queryBuilder->registerEvent(EventHandler::EVENT_AFTER_INSERT, 'person_details', function(QueryBuilderHandler $qb, $insertId)
969+ $queryBuilder->registerEvent(EventHandler::EVENT_AFTER_INSERT, 'person_details', function(QueryObject $qo, QueryBuilderHandler $qb, $insertId)
968970{
969971 $qb
970972 ->table('person_details')
@@ -978,7 +980,7 @@ $queryBuilder->registerEvent(EventHandler::EVENT_AFTER_INSERT, 'person_details',
978980After deleting from ` my_table ` delete the relations:
979981
980982``` php
981- $queryBuilder->registerEvent(EventHandler::EVENT_AFTER_DELETE, 'my_table', function(QueryBuilderHandler $qb, $queryObject )
983+ $queryBuilder->registerEvent(EventHandler::EVENT_AFTER_DELETE, 'my_table', function(QueryObject $qo, QueryBuilderHandler $qb )
982984{
983985 $bindings = $queryObject->getBindings();
984986 $qb
@@ -994,6 +996,7 @@ If something other than `null` is returned from the `before-*` query handler, th
994996
995997Only on ` after-* ` events you get three parameters: ** first** is the query builder, ** third** is the execution time as float and ** the second** varies:
996998
999+ - On ` after-query ` fires after a raw query has been executed.
9971000 - On ` after-select ` you get the ` results ` obtained from ` select ` .
9981001 - On ` after-insert ` you get the insert id (or array of ids in case of batch insert)
9991002 - On ` after-delete ` you get the [ query object] ( #get-built-query ) (same as what you get from ` getQuery() ` ), from it you can get SQL and Bindings.
0 commit comments