public function build()
 {
     $criteria = new Criteria();
     $status = new TodoStatus();
     $criteria->andWhere($criteria->expr()->eq('status.value', $status->getValue()));
     return $criteria;
 }
 /**
  * 検索条件の生成
  * @return Criteria
  */
 public function build()
 {
     $criteria = new Criteria();
     // タイトル検索
     if (!empty($this->title)) {
         $criteria->andWhere($criteria->expr()->contains('title', $this->title));
     }
     // ステータス検索
     if ($this->status instanceof TodoStatus) {
         $criteria->andWhere($criteria->expr()->eq('status.value', $this->status->getValue()));
     }
     return $criteria;
 }
 /**
  * @param FormBuilderInterface $builder
  * @param array $options
  */
 public function buildForm(FormBuilderInterface $builder, array $options)
 {
     $builder->add('title', 'text', ['label' => 'タイトル', 'required' => false])->add('status', 'choice', ['choices' => TodoStatus::getNames(), 'label' => 'ステータス', 'required' => false, 'empty_value' => '選択してください']);
     // ステータスオブジェクトの変換
     $builder->get('status')->addModelTransformer(new CallbackTransformer(function ($output) {
         if ($output instanceof TodoStatus) {
             return $output->getValue();
         }
     }, function ($input) {
         if (!empty($input)) {
             return new TodoStatus($input);
         }
     }));
 }
Beispiel #4
0
 public function completed()
 {
     $this->status->completed();
 }