Property | Type | Description | |
---|---|---|---|
$tables |
Method | Description | |
---|---|---|
__construct ( |
||
generate ( ) : array | Generate the join sql based on the needed tables | |
getJoinString ( ) | ||
shouldJoinWithSelect ( ) | ||
sortTablesForJoin ( $tA, $tB ) |
Method | Description | |
---|---|---|
findJoinCriteriasForTables ( Piwik\Tracker\LogTable $logTable, Piwik\Tracker\LogTable[] $availableLogTables ) : string | null | ||
generateNonVisitJoins ( $tableName, $tableNameToJoin, $index ) | This code is a bit tricky. We have to execute this right at the beginning before actually iterating over all the tables and generating the join string as we may have to delete a table from the tables. If we did not delete this table upfront, we would have maybe already added a joinString for that table, even though it will be later removed by another table. This means if we wouldn't delete/unset that table upfront, we would need to alter an already generated join string which would not be really nice code as well. |
Method | Description | |
---|---|---|
addMissingTablesNeededForJoins ( ) |
protected findJoinCriteriasForTables ( Piwik\Tracker\LogTable $logTable, Piwik\Tracker\LogTable[] $availableLogTables ) : string | null | ||
$logTable | Piwik\Tracker\LogTable | |
$availableLogTables | Piwik\Tracker\LogTable[] | |
return | string | null | returns null in case the table is already joined, or the join string if the table needs to be joined |
protected generateNonVisitJoins ( $tableName, $tableNameToJoin, $index ) | ||
$tableName | ||
$tableNameToJoin | ||
$index |