Extbase - Objekte handeln
Aus Wikizone
Version vom 13. Juli 2015, 17:18 Uhr von 37.49.33.84 (Diskussion) (Die Seite wurde neu angelegt: „== Objekte erstellen == Wenn das Repository im Controller injected wurde: $this->miniObjectRepository->add($newMiniObject); $this->redirect('list'); == Kindo…“)
Objekte erstellen
Wenn das Repository im Controller injected wurde:
$this->miniObjectRepository->add($newMiniObject);
$this->redirect('list');
Kindobjekte erstellen
Hier kann man nicht einfach erstellen sonst ist die Datenbankverbindung nicht vorhanden. Also muß man vorher im View das Mutterobjekt durchschleifen und danach im Controller die Verknüpfung berücksichtigen:
Controller
/**
* addForm action - displays a form for adding a post
*
* @param \Lobacher\Simpleblog\Domain\Model\Blog $blog
* @param \Lobacher\Simpleblog\Domain\Model\Post $post
*/
public function addFormAction(
\Lobacher\Simpleblog\Domain\Model\Blog $blog,
\Lobacher\Simpleblog\Domain\Model\Post $post = NULL) {
$this->view->assign('blog',$blog);
$this->view->assign('post',$post);
}
--> Fluid
<f:form action="{action}" object="{post}" name="post" arguments="{blog:blog}" additionalAttributes="{role:'form'}">
--> Controller
/**
* add action - adds a post to the repository
*
* @param \Lobacher\Simpleblog\Domain\Model\Blog $blog
* @param \Lobacher\Simpleblog\Domain\Model\Post $post
*/
public function addAction(
\Lobacher\Simpleblog\Domain\Model\Blog $blog,
\Lobacher\Simpleblog\Domain\Model\Post $post) {
$post->setPostdate(new \DateTime());
//$this->postRepository->add($post);
$blog->addPost($post);
$this->objectManager->get( ↩ 'Lobacher\\Simpleblog\\Domain\\Repository\\BlogRepository' )->update($blog);
$this->redirect('show','Blog',NULL,array('blog'=>$blog));
}