implement unique

This commit is contained in:
Dennis Eichhorn 2020-02-08 16:48:07 +01:00
parent 0e0264ad35
commit 86b0d62a54
3 changed files with 6 additions and 5 deletions

View File

@ -571,9 +571,8 @@ class DataMapperAbstract implements DataMapperInterface
try {
self::$db->con->prepare($query->toSql())->execute();
} catch (\Throwable $t) {
// only for debugging
//var_dump($t->getMessage());
//var_dump($query->toSql());
var_dump($t->getMessage());
var_dump($query->toSql());
return -1;
}

View File

@ -135,7 +135,7 @@ class Builder extends QueryBuilder
foreach ($definition['fields'] as $name => $def) {
$builder->field(
$name, $def['type'], $def['default'] ?? null,
$def['null'] ?? true, $def['primary'] ?? false, $def['autoincrement'] ?? false,
$def['null'] ?? true, $def['primary'] ?? false, $def['unique'] ?? false, $def['autoincrement'] ?? false,
$def['foreignTable'] ?? null, $def['foreignKey'] ?? null
);
}
@ -233,6 +233,7 @@ class Builder extends QueryBuilder
* @param mixed $default Default value
* @param bool $isNullable Can be null
* @param bool $isPrimary Is a primary field
* @param bool $isUnique Is a unique field
* @param bool $autoincrement Autoincrements
* @param string $foreignTable Foreign table (in case of foreign key)
* @param string $foreignKey Foreign key
@ -243,7 +244,7 @@ class Builder extends QueryBuilder
*/
public function field(
string $name, string $type, $default = null,
bool $isNullable = true, bool $isPrimary = false, bool $autoincrement = false,
bool $isNullable = true, bool $isPrimary = false, $isUnique = false, bool $autoincrement = false,
string $foreignTable = null, string $foreignKey = null
) : self {
$this->createFields[$name] = [
@ -252,6 +253,7 @@ class Builder extends QueryBuilder
'default' => $default,
'null' => $isNullable,
'primary' => $isPrimary,
'unique' => $isUnique,
'autoincrement' => $autoincrement,
'foreignTable' => $foreignTable,
'foreignKey' => $foreignKey,