1

毎週のデータを入力できるフォームのコレクションを含むフォームを作成しようとしています。いくつかの統計を含む 1 週間のエンティティがあります

/**
 * @ORM\Column(type="integer", nullable=false)
 * @ORM\Id
 * @ORM\GeneratedValue(strategy="IDENTITY")
 */
protected $week_id;

/**
 * @ORM\Column(type="string")
 */
protected $area_worked;

/**
 * @ORM\OneToMany(targetEntity="User")
 */
protected $approved_by;

/**
 * @ORM\OneToMany(targetEntity="DailyStats")
 */
protected $daily_stats;

次に、毎日の統計エンティティがあります。

/**
 * @ORM\Column(type="integer", nullable=false)
 * @ORM\Id
 * @ORM\GeneratedValue(strategy="IDENTITY")
 */
protected $day_id;

/**
 * @ORM\ManyToOne(targetEntity="WeeklyStats")
 */
protected $weekly_stat_id;

/**
 * @ORM\Column(type="float")
 */
protected $hours_worked;

/**
 * @ORM\Column(type="integer")
 */
protected $day_of_week;

次に、これらの両方を使用して、1 週間全体を示すテーブルに出力できるフォームが必要です。

         Monday | Tuesday | Wednesday | Thursday | Friday | Saturday | Sunday
Hours  |        |         |           |          |        |          |

ただし、これをフォームに入れると:

//weekly stats form

public function buildForm(FormBuilderInterface $builder, array $options)
{
    $builder->add('dailyReports', 'collection',array(
            'type'=>new DailyStatsForm(),
            'options'  => array(
                'required'  => false
            ),
            'allow_add' => true,
        ));
}

これにより、空のフィールド セットを持つフォームが生成されます。JavaScript を使用してフィールドを追加できますが、毎週の統計の他のフィールドと一緒に、このフォームのキープで常に 7 日間を生成できるかどうかを知りたいですか?

解決策の提案は大歓迎です。

4

1 に答える 1