Skip to content

EnumField Reference ​

Usage ​

The EnumField can be used to restrict string or int values to a fixed set.

Define a \BackedEnum class, use them in an Entity and restrict the values in your RDBMS.

It's not advisable to use ENUM types for integer values, as most RDBMS only support string values and use integers internally. Using a regular INT column is recommended in this case. The BackedEnum will restrict the possible values, unless the database is modified manually.

Examples ​

Example 1: Creating an input field from an enum ​

twig
<select name="payment_method">
    {% for method in PaymentMethod::cases() %}
        <option value="{{ method.value }}">{{ method.name }}</option>
    {% endfor %}
</select>

Example 2: Setting an Entity value ​

php
<?php

$batchOrder = new BatchOrderEntity();
$batchOrder->setPaymentMethod(PaymentMethod::PAYPAL);

Example 3: Check if a value is valid ​

php
<?php

$validPaymentMethod = PaymentMethod::tryFrom($userProvidedInput);

// Either check for null
if (is_null($validPaymentMethod)) {
    // The input was not a valid payment method
}

// Or check for the class
if($validPaymentMethod instanceof PaymentMethod) {
    // The input was a valid payment method
}
Was this page helpful?
UnsatisfiedSatisfied
Be the first to vote!
0.0 / 5  (0 votes)