1

次のように定義されたフィールドがあります。

max_items int(11) NULL

バックエンドでこのフィールドを空のままにしておくと、NULL を格納する必要があります。

このために、TCA で次の構成を使用しますが、これは機能しません。

'max_items' => array(
    'exclude' => 0,
    'label' => '...',
    'config' => array(
        'type' => 'input',
        'eval' => 'null',
    ),
),

編集:期待値を保存する代わりに、保存しNULLます0。試してみmax_items int(11) DEFAULT NULLましたが、うまくいきませんでした。

Edit2: freshp に感謝します! 私は自分の eval 関数を書くことになりました:

<?php
class tx_myextension_evalfunc {
    function evaluateFieldValue($sValue, $aIsIn, &$bSet)
    {
        return ($sValue === '') ? null : $sValue;
    }
}
?>

この構成の使用:

'max_items' => array(
    'exclude' => 0,
    'label' => '...',
    'config' => array(
        'type' => 'input',
        'eval' => 'tx_myextension_evalfunc',
    ),
),
4

1 に答える 1