これらの市場に割り当てられた代理店を選択できるフォーム内で作成できる「市場」を私の文書に追加したいと思います。したがって、市場を特に選択するのではなく、代理店を選択することによって自動的に追加されます。 これの背後にある論理は働いていますが、まだ達成していないことが1つあります。 市場には複数の代理店がありますが、市場は一度しか表示されません。私のforeachループは次のようになります:symfony foreachループ内の配列コレクションからユニークな値を追加する
if(count($this->getAgencies()) > 0){
foreach($this->getAgencies() as $agency) {
$this->addMarket($agency->getMarket());
}
}
}
これは、市場ごとに1つの代理店を選択する限り、うまくいきます。 1つの市場で複数の代理店を選択するとすぐには機能しません。これを避けるために、私は、コードを変更:市場と機関が両方arraycollectionsなので
$markets = $this->getMarkets();
if(count($this->getAgencies()) > 0){
foreach($this->getAgencies() as $agency) {
if(!$this->markets->contains($markets)) {
$this->addMarket($agency->getMarket());
}
}
}
、シンプルな「in_Array」または「unique_arrayは」機能していません。だから私は "contains"は私がarraycollectionsのために使うべき関数だと思った。しかし明らかにそうではありません。 さらなるアイデアは? :)機関のための市場はすでにコレクションの$ this - >の中に存在して販売している場合
はそんなにあなたに感謝し、それが完璧に動作します! – sonja