FLOW3动作参数和对象数组
FLOW3提供了一种方便的方法,通过URL在URL中传递实体,并在控制器动作的参数中自动实例化它们:
class PostController extends \TYPO3\FLOW3\MVC\Controller\ActionController { public function editAction(Post $post) { ... } }
但是,你有checkbox,每个代表一个特定的对象? 让他们自动实例化也是很方便的:
<input type="checkbox" name="tags[]" value="1" /> <input type="checkbox" name="tags[]" value="2" /> ...
有没有办法告诉FLOW3自动实例化$tags
variables作为一个Tag
对象的数组? 就像是:
public function setTagsAction(Post $post, /** @var Model\Tag */ array $tags) { $post->setTags($tags); }
/** * @param Post $post * @param \Doctrine\Common\Collections\ArrayCollection<\your\namespace\Model\Tag> $tag */ public function setTagsAction(Post $post, $tags) { ...
afaik Doctrine会将您的数组转换为由所提供的数组映射的Collection Holding Objects
删除$ tags之前的单词数组