Ergebnis 1 bis 3 von 3

Thema: 4.3.x sql- Anweisung im DCA

  1. #1
    Contao-Nutzer Avatar von Nils Heinold
    Registriert seit
    04.09.2010.
    Ort
    Uckermark
    Beiträge
    155
    User beschenken
    Wunschliste

    Standard 4.3.x sql- Anweisung im DCA

    komme nicht weiter,

    PHP- Version: 7.0.15
    Datenbank-Client Version: libmysql - mysqlnd 5.0.12-dev

    im DCA steht

    PHP-Code:
    'jahr' => array
            (
                
    'label'            => &$GLOBALS['TL_LANG']['tl_nlsh_garten_verein_stammdaten']['jahr'],
                
    'inputType'        => 'select',
                
    'options_callback' => array(
                                        
    'tl_nlsh_garten_verein_stammdaten',
                                        
    'optionStammdatenjahr'
                
    ),
                
    'eval'             => array(
                                        
    'mandatory' => TRUE,
                                        
    'maxlength' => 4,
                                        
    'rgxp'      => 'digit',
                                        
    'unique'    => TRUE,
                ),
                
    'sql'              => "year(4) NULL"
            
    ), 
    Contao macht aber bei der Installation/ Update

    HTML-Code:
    ALTER TABLE tl_nlsh_garten_verein_stammdaten CHANGE jahr jahr DATE DEFAULT NULL
    ich möchte aber nicht DATE, sondern YEAR(4).

    Auch beim Typ "float" kommt jetzt "double" raus?

    Bin für jede Hilfe dankbar.

    Vielen Dank im Voraus.

    Nils

  2. #2
    Contao-Urgestein Avatar von the_scrat
    Registriert seit
    24.02.2010.
    Ort
    Augsburg
    Beiträge
    2.051
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von Nils Heinold Beitrag anzeigen
    ich möchte aber nicht DATE, sondern YEAR(4).
    Darf ich fragen warum? Warum nicht ein stinknormaler int oder char(4)? Warum "muss" es YEAR sein? Gibt es dafür einen technischen Grund?
    Geändert von the_scrat (03.04.2017 um 19:38 Uhr)
    Programmers don't comment their code. It was hard to write, it should be hard to understand...

  3. #3
    Contao-Nutzer Avatar von Nils Heinold
    Registriert seit
    04.09.2010.
    Ort
    Uckermark
    Beiträge
    155
    User beschenken
    Wunschliste

    Standard

    Darf ich fragen warum? Warum nicht ein stinknormaler int(4)? Warum "muss" es YEAR sein? Gibt es dafür einen technischen Grund?
    Wahrscheinlich nicht. Ich hole mir mit
    PHP-Code:
     $datum   getdate(); 
    das aktuelle Datum und von dort mit
    PHP-Code:
    $aktJahr $datum[year]; 
    das aktuelle Jahr.

    Wollte einfach per Datenbank sicherstellen, dass immer das korrekte Format in der Tabelle steht, ohne dass ich jetzt per selbstpagrammierte Prüfungen teste, ob der Wert auch meinen nachfolgenden Anforderungen entspricht. ( zuviel verlangt?)

    Denn jetzt steht dort "000-00-00" und nicht "2017".

    Nils

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •