FLOW3 параметры действия и массивы объектов
FLOW3 обеспечивает удобный способ передачи объектов по ID в URL-адресе и автоматически получать их в параметрах действия контроллера:
class PostController extends \TYPO3\FLOW3\MVC\Controller\ActionController {
public function editAction(Post $post) {
...
}
}
Но как насчет варианта использования, где у вас есть флажки, каждый из которых представляет определенный объект? Было бы также полезно получить их автоинсталлирование:
<input type="checkbox" name="tags[]" value="1" />
<input type="checkbox" name="tags[]" value="2" />
...
Есть ли способ сообщить FLOW3 автоматически создавать переменную $tags
как массив объектов Tag
? Что-то вроде:
public function setTagsAction(Post $post, /** @var Model\Tag */ array $tags) {
$post->setTags($tags);
}
Ответы
Ответ 1
/**
* @param Post $post
* @param \Doctrine\Common\Collections\ArrayCollection<\your\namespace\Model\Tag> $tag
*/
public function setTagsAction(Post $post, $tags) { ...
afaik Doctrine преобразует ваш массив в объект Collection Holding, отображаемый предоставленным массивом
Ответ 2
удалить массив слов до $tags