2016-03-31 4 views
0

私はシンフォニーで全然noobですが、私は学びたいと思っています。私が持っているこの特定の問題については、このドキュメントでは手助けできませんでした。私はその情報を取得する方法を見つけることに苦労していコントローラ機能のデータベースから特定のデータを取得しています

// if ($products are in userCart) { 
//  show those only 
// } 

は、どのように私はこのような何かを行うことができます。私は多くの試みを試みました。

私は、データベースに正常に私のプロダクトをフラッシュしていますし、次のように私の団体は以下のとおりです。

Association Mappings

私はshowCartAction機能でこれをしたい:

$user = $this->getUser(); 
$em = $this->getDoctrine()->getManager(); 

//then get the specific products 

$products = $em->getRepository(‘ShopBundle:??’)->?? 

してください任意のヘルプは高く評価されます、 御時間ありがとうございます。実体を仮定

答えて

1

Product命名されています

// Your model, you can use it to fetch products 
$productRepository = $em->getRepository('ShopBundle:Product'); 

// Retrieve all products as an array of objects 
$products = $productRepository->findAll(); 

// Retrieve a specific product as object from its reference (id) 
$product = $productRepository->find(1); // Returns product with 'id' = 1 

// Retrieve a specific product based on condition(s) 
$product = $productRepository->findOneBy(['price' => 10]); 

// Retrieve many products based on condition(s) 
$products = $productRepository->findBy(['price' => 10]); 

特定の製品は、あなたのUserCartオブジェクトであるかどうかを確認するには:全体の参考のため

$cartRepository = $em->getRepository('ShopBundle:UserCart'); 

// Fetches the cart by its owner (the current authenticated user) 
// assuming UserCart has a $user property that represents an association to your User entity 
$cart = $cartRepository->findOneBy(['user' => $this->getUser()]); 

// Check if a specific product is in the cart, 
// assuming $product is a Product object retrieved like shown above 
if ($cart->contains($product)) { 
    // Do something 
} 

を、DoctrineのドキュメントからWorking with objectsを参照してください。

私はあなたを助けてくれることを願っています。
詳細やその他の情報が必要な場合は、お気軽にコメントを投稿してください。そのゲッターを使用し、オブジェクトのプロパティにアクセスする

EDIT

$cartView = array(
    'products' => $cart->getProducts(), // return the property $products 
    'user'  => $cart->getUser(),  // return the property $user 
); 

方法はパブリックアクセスが存在している場合にのみ可能です。

注記 symfonyのようなフレームワークを使用する前に、OOPを実際に見て練習してください。

+0

これは非常に良いですが、私が印刷するときに '$ cart'はまだオブジェクトです。カートの中身を印刷したい。私は理解されていることを願っています。 – user6104636

+0

私の編集を見てください。オブジェクトのプロパティにアクセスする方法を示します。 – chalasr

+0

大変ありがとうございます、私は仕事をして後で戻ってきます – user6104636

関連する問題