[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