original_string: protected function _buildFromPart($parts, $query, $generator)
      {
          $select = ' FROM %s';
          $normalized = [];
          $parts = $this->_stringifyExpressions($parts, $generator);
          foreach ($parts as $k => $p) {
              if (!is_numeric($k)) {
                  $p = $p . ' ' . $k;
              }
              $normalized[] = $p;
          }
  
          return sprintf($select, implode(', ', $normalized));
      }
code: protected function _buildFromPart($parts, $query, $generator)
      {
          $select = ' FROM %s';
          $normalized = [];
          $parts = $this->_stringifyExpressions($parts, $generator);
          foreach ($parts as $k => $p) {
              if (!is_numeric($k)) {
                  $p = $p . ' ' . $k;
              }
              $normalized[] = $p;
          }
  
          return sprintf($select, implode(', ', $normalized));
      }
code_tokens: protected function _buildFromPart ( $ parts , $ query , $ generator ) { $ select = ' FROM %s' ; $ normalized = [ ] ; $ parts = $ this -> _stringifyExpressions ( $ parts , $ generator ) ; foreach ( $ parts as $ k => $ p ) { if ( ! is_numeric ( $ k ) ) { $ p = $ p . ' ' . $ k ; } $ normalized [ ] = $ p ; } return sprintf ( $ select , implode ( ', ' , $ normalized ) ) ; }
docstring: Helper function used to build the string representation of a FROM clause,
  it constructs the tables list taking care of aliasing and
  converting expression objects to string.
  
  @param array $parts list of tables to be transformed to string
  @param \Cake\Database\Query $query The query that is being compiled
  @param \Cake\Database\ValueBinder $generator the placeholder generator to be used in expressions
  @return string
docstring_tokens: Helper function used to build the string representation of a FROM clause it constructs the tables list taking care of aliasing and converting expression objects to string .