protected function _processForeignKeys(string $table): string
	{
		$sql = '';

		$allowActions = [
			'CASCADE',
			'SET NULL',
			'NO ACTION',
			'RESTRICT',
			'SET DEFAULT',
		];

		if (count($this->foreignKeys) > 0)
		{
			foreach ($this->foreignKeys as $field => $fkey)
			{
				$name_index = $table . '_' . $field . '_foreign';

				$sql .= ",\n\tCONSTRAINT " . $this->db->escapeIdentifiers($name_index)
					. ' FOREIGN KEY(' . $this->db->escapeIdentifiers($field) . ') REFERENCES ' . $this->db->escapeIdentifiers($this->db->DBPrefix . $fkey['table']) . ' (' . $this->db->escapeIdentifiers($fkey['field']) . ')';

				if ($fkey['onDelete'] !== false && in_array($fkey['onDelete'], $allowActions))
				{
					$sql .= ' ON DELETE ' . $fkey['onDelete'];
				}

				if ($fkey['onUpdate'] !== false && in_array($fkey['onUpdate'], $allowActions))
				{
					$sql .= ' ON UPDATE ' . $fkey['onUpdate'];
				}
			}
		}

		return $sql;
	}
protected function _processForeignKeys(string $table): string
	{
		$sql = '';

		$allowActions = [
			'CASCADE',
			'SET NULL',
			'NO ACTION',
			'RESTRICT',
			'SET DEFAULT',
		];

		if (count($this->foreignKeys) > 0)
		{
			foreach ($this->foreignKeys as $field => $fkey)
			{
				$name_index = $table . '_' . $field . '_foreign';

				$sql .= ",\n\tCONSTRAINT " . $this->db->escapeIdentifiers($name_index)
					. ' FOREIGN KEY(' . $this->db->escapeIdentifiers($field) . ') REFERENCES ' . $this->db->escapeIdentifiers($this->db->DBPrefix . $fkey['table']) . ' (' . $this->db->escapeIdentifiers($fkey['field']) . ')';

				if ($fkey['onDelete'] !== false && in_array($fkey['onDelete'], $allowActions))
				{
					$sql .= ' ON DELETE ' . $fkey['onDelete'];
				}

				if ($fkey['onUpdate'] !== false && in_array($fkey['onUpdate'], $allowActions))
				{
					$sql .= ' ON UPDATE ' . $fkey['onUpdate'];
				}
			}
		}

		return $sql;
	}
protected function _processForeignKeys ( string $ table ) : string { $ sql = '' ; $ allowActions = [ 'CASCADE' , 'SET NULL' , 'NO ACTION' , 'RESTRICT' , 'SET DEFAULT' , ] ; if ( count ( $ this -> foreignKeys ) > 0 ) { foreach ( $ this -> foreignKeys as $ field => $ fkey ) { $ name_index = $ table . '_' . $ field . '_foreign' ; $ sql .= ",\n\tCONSTRAINT " . $ this -> db -> escapeIdentifiers ( $ name_index ) . ' FOREIGN KEY(' . $ this -> db -> escapeIdentifiers ( $ field ) . ') REFERENCES ' . $ this -> db -> escapeIdentifiers ( $ this -> db -> DBPrefix . $ fkey [ 'table' ] ) . ' (' . $ this -> db -> escapeIdentifiers ( $ fkey [ 'field' ] ) . ')' ; if ( $ fkey [ 'onDelete' ] !== false && in_array ( $ fkey [ 'onDelete' ] , $ allowActions ) ) { $ sql .= ' ON DELETE ' . $ fkey [ 'onDelete' ] ; } if ( $ fkey [ 'onUpdate' ] !== false && in_array ( $ fkey [ 'onUpdate' ] , $ allowActions ) ) { $ sql .= ' ON UPDATE ' . $ fkey [ 'onUpdate' ] ; } } } return $ sql ; }
Process foreign keys

@param string $table Table name

@return string
Process foreign keys