symfony - Doctrine в Symphony и значение по умолчанию
0
Подскажите, как в yml файле описать значение по умолчанию? Пишу:
AppEntityProducting:
type: entity
table: producting
id:
id:
type: integer
generator: { strategy: AUTO }
fields:
name:
type: string
length: 255
cost:
type: integer
amount:
type: float
comment:
type: text
default: texting...
answer:
type: text
default: "answering..."
Но при добавлении новой записи в таблицу, но поля с определёнными значениями по умолчанию таковые не принимают ни при добавлении в ручную SQL запросом, ни php-кодом:
$entityManager = $this->getDoctrine()->getManager();
$product = new Producting();
$product->setName($name);
$product->setCost($cost);
$product->setAmount($amount);
$entityManager->persist($product);
Собственно как определить значение по умолчанию? в YML-файле?
Источник
- 800
- 1
- 19 янв 2019 2019-01-19 09:38:23
- Vlad Kn
В других фреймворках я использую именно аннотацию, но данный я сейчас изучаю и хочу разобраться в простейших и очевидных вещах — Vlad Kn 31 янв 20192019-01-31 09:13:22.000000
Настоятельно рекомендую таки использовать аннотации. В будущем вы оцените удобство и необходимость этого подхода, если пока что он вам кажется чуждым. Да и в best practice вы об этом можете прочесть. — zalex 30 янв 20192019-01-30 18:15:58.000000
stackoverflow.com/questions/13669338/… так не работает? — Kostiantyn Okhotnyk 25 янв 20192019-01-25 08:43:18.000000
1 ответ
1
Вопрос снимается.
Цитирую документацию:
Doctrine does not support to set the default values in columns through the "DEFAULT" keyword in SQL. This is not necessary however, you can just use your class properties as default values. These are then used upon insert:
class User
{
const STATUS_DISABLED = 0;
const STATUS_ENABLED = 1;
private $algorithm = "sha1";
private $status = self:STATUS_DISABLED;
}
- 19 янв 2019 2019-01-19 10:14:56
- Vlad Kn