2016-03-31 17 views
0

Symphony'de tam noob'um ama öğrenmeye çalışıyorum. Dokümantasyon, sahip olduğum bu spesifik sorun konusunda bana yardımcı olmadı.Denetleyici İşlevindeki Veritabanından Belirli Verilerin Alınması

nasıl böyle bir şey yapabilirim: Ben bu bilgiyi almak için bir yol bulma ile mücadele ediyorum

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

. Birçok denemeyi denedim.

başarıyla veritabanına ürünlerimi kızarma ediyorum ve şöyle benim dernekler şunlardır:

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

//then get the specific products 

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

herhangi bir yardım takdir edin:

Association Mappings

ben showCartAction işlevinde bunu yapmak istiyor , zaman ayırdığın için teşekkürler.

cevap

1

varlık Product adlı varsayarsak: Belirli bir ürünün UserCart nesne ise

// 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]); 

kontrol etmek için:

bütün referans için
$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 
} 

, Doktrin belgelerine gelen Working with objects bakın.

Umarım bu size yardımcı olur.
Daha fazla ayrıntıya veya başka bir bilgiye ihtiyacınız varsa, yorum göndermektan çekinmeyin. Bir nesnenin erişim özelliklerine için

DÜZENLEME

, kullanmak onun getters: yöntemler de vardır ve kamu erişimine sahip olmasıyla mümkündür

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

.

Not Gerçekten OOP'a daha fazla bakmalı ve Symfony gibi bir çerçeve kullanmadan önce pratik yapmalısınız.

+0

Bu çok iyi ama yazdırdığımda hala bir nesne olan "$ cart". Arabanın içinde ne olduğunu yazdırmasını istiyorum. Umarım anlaşılırım. – user6104636

+0

Gösterimi düzenlemek için bir düzenleme yapacağım. Size nesnenizin özelliklerine nasıl eriştiğini gösteriyorum. – chalasr

+0

Çok teşekkür ederim, çalışacağım ve daha sonra tekrar dokunacağım – user6104636

İlgili konular