Your project uses non-strict array lookups 4

More information: https://insight.symfony.com/what-we-analyse/php.strict_array_lookup

  1. // Get column type
  2. $type = $columnTypes[$field] ?? 'string';
  3. // Include numeric columns (for aggregation)
  4. if (in_array($type, ['int', 'bigint', 'smallint', 'decimal', 'float', 'double'])) {
    in_array() should be called with the third parameter set to true to enable strict comparison and avoid type juggling bugs.
    Time to fix: about 15 minutes
    Read doc Permalink Copy Prompt
    Last edited by clicshopping
  5. return true;
  6. }
  7. // Include date/timestamp columns (for temporal analysis)
  8. if (in_array($type, ['date', 'datetime', 'timestamp', 'time'])) {
  • gyakutsuki

    not implemented
  • gyakutsuki

    not included
  • gyakutsuki

    no included
  • gyakutsuki

    no implemented
  • gyakutsuki

    in_array true not implemented
  • gyakutsuki

    false positive
  1. if (in_array($type, ['date', 'datetime', 'timestamp', 'time'])) {
  2. return true;
  3. }
  4. // Include text columns (for filtering and grouping)
  5. if (in_array($type, ['varchar', 'char', 'text', 'enum'])) {
    in_array() should be called with the third parameter set to true to enable strict comparison and avoid type juggling bugs.
    Time to fix: about 15 minutes
    Read doc Permalink Copy Prompt
    Last edited by clicshopping
  6. return true;
  7. }
  8. // Exclude everything else (binary, blob, json, etc.)
  9. return false;
  • gyakutsuki

    not implemented
  • gyakutsuki

    not included
  • gyakutsuki

    no included
  • gyakutsuki

    no implemented
  • gyakutsuki

    in_array true not implemented
  • gyakutsuki

    false positive
  1. if (in_array($type, ['int', 'bigint', 'smallint', 'decimal', 'float', 'double'])) {
  2. return true;
  3. }
  4. // Include date/timestamp columns (for temporal analysis)
  5. if (in_array($type, ['date', 'datetime', 'timestamp', 'time'])) {
    in_array() should be called with the third parameter set to true to enable strict comparison and avoid type juggling bugs.
    Time to fix: about 15 minutes
    Read doc Permalink Copy Prompt
    Last edited by clicshopping
  6. return true;
  7. }
  8. // Include text columns (for filtering and grouping)
  9. if (in_array($type, ['varchar', 'char', 'text', 'enum'])) {
  • gyakutsuki

    not implemented
  • gyakutsuki

    not included
  • gyakutsuki

    no included
  • gyakutsuki

    no implemented
  • gyakutsuki

    in_array true not implemented
  • gyakutsuki

    false positive
  1. if ($field === $idColumn) {
  2. return true;
  3. }
  4. // Exclude system timestamp fields
  5. if (in_array($field, ['created_at', 'updated_at', 'deleted_at'])) {
    in_array() should be called with the third parameter set to true to enable strict comparison and avoid type juggling bugs.
    Time to fix: about 15 minutes
    Read doc Permalink Copy Prompt
    Last edited by clicshopping
  6. return false;
  7. }
  8. // Get column type
  9. $type = $columnTypes[$field] ?? 'string';
  • gyakutsuki

    not implemented
  • gyakutsuki

    not included
  • gyakutsuki

    no included
  • gyakutsuki

    no implemented
  • gyakutsuki

    in_array true not implemented
  • gyakutsuki

    false positive

Your project uses legacy callable syntax instead of first-class callable syntax

More information: https://insight.symfony.com/what-we-analyse/php.use_first_class_callable_syntax

  1. $config = [];
  2. foreach ($embeddingTables as $embeddingTable) {
  3. // Extract entity type: clic_products_embedding -> products
  4. $entityType = str_replace([$prefix, '_embedding'], '', $embeddingTable);
    Use the first-class callable syntax ($this->method(...))
    Time to fix: about 15 minutes
    Read doc Permalink Copy Prompt
    Last edited by clicshopping
  5. $table = $prefix . $entityType;
  6. // Get ID column from EntityRegistry (reuse existing logic)
  7. $idColumn = $entityRegistry->getIdColumnForEntityType($entityType);
  • gyakutsuki

    change but there are false posittive
  • gyakutsuki

    false positive