New Full Text Search

This commit is contained in:
2019-12-08 10:50:09 +01:00
parent c4d77d38b3
commit 0dac58742d
8 changed files with 98 additions and 265 deletions

View File

@@ -150,7 +150,7 @@ class MySqlManager extends PhpObject
$asForeignKeyQueries = array();
foreach($asTableNames as $sTableName)
{
$asTableColumns = array_keys($this->getTablecolumns($sTableName));
$asTableColumns = $this->getTablecolumns($sTableName, false);
foreach($asTableColumns as $sColumnName)
{
if($this->isId($sColumnName) && $sColumnName!=self::getId($sTableName))
@@ -269,7 +269,7 @@ class MySqlManager extends PhpObject
}
}
public function getTablecolumns($sTableName)
public function getTablecolumns($sTableName, $bTypes=true)
{
if(!array_key_exists($sTableName, $this->asOptions['tables'])) return false;
@@ -277,9 +277,16 @@ class MySqlManager extends PhpObject
foreach($this->asOptions['tables'][$sTableName] as $sFieldName) $asTableColumns[] = $sFieldName;
$asTableColumns[] = 'led';
if(!$bTypes) return $asTableColumns;
$asTableName = array_fill(0, count($asTableColumns), $sTableName);
return array_combine($asTableColumns, array_map(array('self', 'getColumnType'), $asTableColumns, $asTableName));
}
public function isColumnInTable($sTableName, $sColName) {
$asCols = $this->getTablecolumns($sTableName, false);
return ($asCols && in_array($sColName, $asCols));
}
private function getColumnType($sColumnName, $sTableName)
{