CREATE TABLE public.tasks(
id integer NOT NULL DEFAULT nextval('tasks_id_seq'::regclass),
title character varying(255) NOT NULL,
status character varying(255) NOT NULL,
type character varying(255) NOT NULL,
CONSTRAINT tasks_pkey PRIMARY KEY (id),
CONSTRAINT tasks_status_check CHECK (status::text = ANY (ARRAY['Asignada'::character varying, 'Revision'::character varying, 'Cumplida'::character varying, 'Cancelada'::character varying, 'Diferida'::character varying, 'Retardada'::character varying]::text[])),
CONSTRAINT tasks_type_check CHECK (type::text = ANY (ARRAY['Academico-Docente'::character varying, 'Administrativas'::character varying, 'Creacion intelectual'::character varying, 'Integracion-Social'::character varying, 'Administrativo-Docente'::character varying, 'Produccion'::character varying]::text[])))
WITH (OIDS=FALSE);
ALTER TABLE public.tasks
OWNER TO postgres;
dieser Tabelle, wie kann ich die verfügbaren weiß aufgeführten Werte für die Zwänge tasks_status_check und task_type_check bekommen?Wie kann ich eine Liste der erlaubten Werte für eine Postgres Bedingungsprüfung von PHP erhalten
Zusätzlich, ich versuche es von Laravel zu tun, Laravel schafft Einschränkungen statt Enums. Ich habe eine Zeit lang untersucht, konnte aber keine Lösung
Ich habe es in MySql, aber wir bewegen zu PostgreSql
mein Code war so etwas wie dieser
trait EnumHelper {
public static function getEnumValues($field){
$instance = new static;
$type = DB::select(DB::raw('SHOW COLUMNS FROM '.$instance->getTable().' WHERE Field = "'.$field.'"'))[0]->Type;
preg_match('/^enum\((.*)\)$/', $type, $matches);
$values = array();
foreach(explode(',', $matches[1]) as $value){
$values[] = trim($value, "'");
}
return $values;
}
}
Vielen Dank im Voraus