Хотя C# не имеет никакого прямого эквивалента для общего случая, синтаксиса инициализатора объекта усиления C# 3 для вызовов конструктора:
var foo = new Foo { Property1 = value1, Property2 = value2, etc };
Видят главу 8 C# подробно для получения дополнительной информации - можно загрузить его бесплатно от веб-сайт Manning .
(Правовая оговорка - да, это находится в моих интересах получить книгу в руки большего количества людей. Но эй, это - бесплатная глава, которая дает Вам больше информации о связанной теме...)
Грамматика BNF для языка запросов Doctrine , похоже, не содержит ничего, связанного с конструкцией CASE
.
Я рекомендую вам не использовать этот синтаксис CASE для решения этой проблемы. Это выглядит непросто.
Почему бы вам не выполнить
$resultset = Doctrine_Query::create()
->select("t.code, t.description, t.id_outcome")
->from('LuOutcome t')
->orderBy('t.rank')
->fetchArray();
, а затем перебрать $ resultset и создать это поле (in_progress) вручную в зависимости от значения (id_outcome). Для этого вы можете использовать какой-нибудь небольшой простой метод.
Преимущества: