@@ -1105,16 +1105,16 @@ The event needs a custom callback function with a `EventArguments` object as par
11051105** Examples:**
11061106
11071107``` php
1108- $queryBuilder->registerEvent(EventHandler::EVENT_BEFORE_SELECT, 'users', function(EventArguments $arguments)
1108+ $queryBuilder->registerEvent(EventHandler::EVENT_BEFORE_SELECT, function(EventArguments $arguments)
11091109{
11101110 $arguments
11111111 ->getQueryBuilder()
11121112 ->where('status', '!=', 'banned');
1113- });
1113+ }, 'users' );
11141114```
11151115Now every time a select query occurs on ` users ` table, it will add this where criteria, so banned users don't get access.
11161116
1117- The syntax is ` registerEvent('event type', 'table name', action in a closure) ` .
1117+ The syntax is ` registerEvent('event type', action in a closure, 'table name' ) ` .
11181118
11191119If you want the event to be performed when ** any table is being queried** , provide ` ':any' ` as table name.
11201120
@@ -1123,7 +1123,7 @@ If you want the event to be performed when **any table is being queried**, provi
11231123After inserting data into ` my_table ` , details will be inserted into another table
11241124
11251125``` php
1126- $queryBuilder->registerEvent(EventHandler::EVENT_AFTER_INSERT, 'my_table', function(EventArguments $arguments)
1126+ $queryBuilder->registerEvent(EventHandler::EVENT_AFTER_INSERT, function(EventArguments $arguments)
11271127{
11281128 $arguments
11291129 ->getQueryBuilder()
@@ -1132,13 +1132,13 @@ $queryBuilder->registerEvent(EventHandler::EVENT_AFTER_INSERT, 'my_table', funct
11321132 'details' => 'Meh',
11331133 'age' => 5
11341134 ));
1135- });
1135+ }, 'my_table' );
11361136```
11371137
11381138Whenever data is inserted into ` person_details ` table, set the timestamp field ` created_at ` , so we don't have to specify it everywhere:
11391139
11401140``` php
1141- $queryBuilder->registerEvent(EventHandler::EVENT_AFTER_INSERT, 'person_details', function(EventArguments $arguments)
1141+ $queryBuilder->registerEvent(EventHandler::EVENT_AFTER_INSERT, function(EventArguments $arguments)
11421142{
11431143 $arguments
11441144 ->getQueryBuilder()
@@ -1147,13 +1147,13 @@ $queryBuilder->registerEvent(EventHandler::EVENT_AFTER_INSERT, 'person_details',
11471147 ->update([
11481148 'created_at' => date('Y-m-d H:i:s')
11491149 ]);
1150- });
1150+ }, 'person_details' );
11511151```
11521152
11531153After deleting from ` my_table ` delete the relations:
11541154
11551155``` php
1156- $queryBuilder->registerEvent(EventHandler::EVENT_AFTER_DELETE, 'my_table', function(EventArguments $arguments)
1156+ $queryBuilder->registerEvent(EventHandler::EVENT_AFTER_DELETE, function(EventArguments $arguments)
11571157{
11581158 $bindings = $arguments->getQuery()->getBindings();
11591159
@@ -1162,7 +1162,7 @@ $queryBuilder->registerEvent(EventHandler::EVENT_AFTER_DELETE, 'my_table', funct
11621162 ->table('person_details')
11631163 ->where('person_id', $binding[0])
11641164 ->delete();
1165- });
1165+ }, 'my_table' );
11661166```
11671167
11681168Pixie passes the current instance of query builder as first parameter of your closure so you can build queries with this object, you can do anything like usual query builder (` QB ` ).
0 commit comments