[TYPO3-mvc] repository->add => persistenceManager->persistAll => repository->findBy

Daniel Dimitrov danielsd_bg at yahoo.fr
Sun Jul 11 14:56:54 CEST 2010


No ideas? I cannot figure this out myself? Any clue?
Thank you in advance!
Daniel

"Daniel Dimitrov" <danielsd_bg at yahoo.fr> wrote in message 
news:mailman.1.1278581168.20072.typo3-project-typo3v4mvc at lists.typo3.org...
> Hey guys,
> I'm making an Ajax request that saves a product and immediately after that 
> returns the saved product together with all other saved products for the 
> user. Sadly I have a small problem with the returned object one of the 
> properties is of type Tx_BwShop_Domain_Model_Products, but the ajax 
> request returns it as INT.
>
> In my controller I have the following code:
> public function addToCartAction() {
> $sessionId = $this->cartModel->getUserSessionId();
> $this->cartModel->setSessionId($sessionId);
> $this->cartModel->setProduct($this->getParametersSafely('product_id'));
>
> $this->cartRepository->add($this->cartModel);
>
> $persistenceManager = Tx_Extbase_Dispatcher::getPersistenceManager();
> $persistenceManager->persistAll();
>
> $products = $this->cartRepository->findBySessionId($sessionId);
>
> var_dump($products);
>
> $this->view->assign('products',$products);
> }
>
> After using the repository add method I immediately call the persistence 
> manager to store the object, because I need it in my next database 
> request.
> The product is stored in the database and I retrieve it, the problem is 
> that the product is not mapped with the Tx_BwShop_Domain_Model_Products.
>
> My Cart model is defining the product as follow:
> /**
> * @var Tx_BwShop_Domain_Model_Products
> */
> protected $product;
>
> but the var_dump shows:
> array(1) {
>  [0]=>
>  object(Tx_BwShop_Domain_Model_Cart)#66 (7) {
>    ["sessionId:protected"]=>
>    string(32) "8e5ae12d9b922b5e16a5e76bb75486ca"
>    ["product:protected"]=>
>    int(903)
>    ["_cleanProperties:private"]=>
>    array(3) {
>      ["sessionId"]=>
>      string(32) "8e5ae12d9b922b5e16a5e76bb75486ca"
>      ["product"]=>
>      int(903)
>      ["uid"]=>
>      int(174)
>    }
>    ["uid:protected"]=>
>    int(174)
>    ["_localizedUid:protected"]=>
>    NULL
>    ["_languageUid:protected"]=>
>    NULL
>    ["_isClone:private"]=>
>    bool(false)
>  }
> }
>
> as you can see product is int and not a Tx_BwShop_Domain_Model_Products.
>
> Any ideas? Must I somehow start the mapping for the product manually?
>
> Kind regards,
> Daniel 



More information about the TYPO3-project-typo3v4mvc mailing list