Pytania otagowane jako doctrine-orm

Doctrine ORM to PHP ORM. Podczas gdy Doctrine 1.2 używa wzorca Active Record, Doctrine ORM 2 i nowsze używają wzorca Data Mapper. Projekt Doctrine to zbiór bibliotek open source i narzędzi do obsługi abstrakcji baz danych i mapowania obiektowo-relacyjnego napisanego w PHP.


14
Doctrine2: Najlepszy sposób obsługi wielu do wielu za pomocą dodatkowych kolumn w tabeli referencyjnej
Zastanawiam się, jaki jest najlepszy, najczystszy i najprostszy sposób pracy z relacjami wiele do wielu w Doctrine2. Załóżmy, że mamy album typu Master of Puppets Metalliki z kilkoma utworami. Należy jednak pamiętać, że jeden utwór może pojawiać się w więcej niż jednym albumie, podobnie jak Battery Metalliki - trzy albumy …

2
Po kasowaniu kaskadowym z doktryną 2
Próbuję zrobić prosty przykład, aby dowiedzieć się, jak usunąć wiersz z tabeli nadrzędnej i automatycznie usunąć pasujące wiersze w tabeli podrzędnej za pomocą Doctrine2. Oto dwa elementy, których używam: Child.php: <?php namespace Acme\CascadeBundle\Entity; use Doctrine\ORM\Mapping as ORM; /** * @ORM\Entity * @ORM\Table(name="child") */ class Child { /** * @ORM\Id * …

10
Policz rzędy w Doctrine QueryBuilder
Korzystam z QueryBuilder Doctrine do zbudowania zapytania i chcę uzyskać całkowitą liczbę wyników z zapytania. $repository = $em->getRepository('FooBundle:Foo'); $qb = $repository->createQueryBuilder('n') ->where('n.bar = :bar') ->setParameter('bar', $bar); $query = $qb->getQuery(); //this doesn't work $totalrows = $query->getResult()->count(); Chcę tylko przeliczyć na to zapytanie, aby uzyskać całkowitą liczbę wierszy, ale nie zwracam rzeczywistych …


13
Jak korzystać z WHERE IN w Doctrine 2
Mam następujący kod, który daje mi błąd: Message: Invalid parameter number: number of bound variables does not match number of tokens Kod: public function getCount($ids, $outcome) { if (!is_array($ids)) { $ids = array($ids); } $qb = $this->getEntityManager()->createQueryBuilder(); $qb->add('select', $qb->expr()->count('r.id')) ->add('from', '\My\Entity\Rating r'); if ($outcome === 'wins') { $qb->add('where', $qb->expr()->in('r.winner', array('?1'))); …

5
Jak uzyskać jednowymiarową tablicę skalarną jako wynik zapytania doktryny dql?
Chcę uzyskać tablicę wartości z kolumny id tabeli aukcji. Gdyby to był surowy SQL, napisałbym: SELECT id FROM auction Ale kiedy robię to w Doctrine i wykonuję: $em->createQuery("SELECT a.id FROM Auction a")->getScalarResult(); Otrzymuję taką tablicę: array( array('id' => 1), array('id' => 2), ) Zamiast tego chciałbym uzyskać taką tablicę: array( …
116 php  doctrine-orm 

2
Co to jest proxy w Doktrynie 2?
Właśnie skończyłem czytać całą dokumentację Doctrine 2, uruchomiłem własną piaskownicę, zrozumiałem większość Principes, ale wciąż jest pytanie i nie mogłem znaleźć pełnego wyjaśnienia w dokumencie. Co to są Proxyzajęcia? Kiedy należy ich używać na obiektach? O ile rozumiem, klasy proxy dodają warstwę, aby umożliwić dodawanie innych funkcji do jednostek, ale …

12
Jak posortować metodę findAll Doctrine
Czytałem dokumentację Doctrine, ale nie byłem w stanie znaleźć sposobu sortowania wyników findAll (). Używam doktryny symfony2 +, oto stwierdzenie, którego używam w moim kontrolerze: $this->getDoctrine()->getRepository('MyBundle:MyTable')->findAll(); ale chcę, aby wyniki były uporządkowane według rosnących nazw użytkowników. Próbowałem przekazać tablicę jako argument w ten sposób: findAll( array('username' => 'ASC') ); ale …

1
Doctrine 2 nie może używać wartości nullable = false w relacji manyToOne?
UserMa jeden Packagez nim związane. Wielu użytkowników może odnosić się do tego samego pakietu. Usernie może istnieć bez Packageokreślonego. Userpowinien być właścicielem relacji. Relacja jest dwukierunkowa, więc Packagema zero lub więcej użytkowników. Te wymagania prowadzą do ManyToOnerelacji dla Useri OneToManyrelacji Packagew Doktrynie 2. Jednak package_idw usertabeli (czyli klucza obcego) dopuszcza …

4
Jaka jest różnica między inversedBy i mappedBy?
Tworzę swoją aplikację przy użyciu Zend Framework 2 i Doctrine 2. Pisząc adnotacje, nie jestem w stanie zrozumieć różnicy między mappedByi inversedBy. Kiedy stosować mappedBy? Kiedy stosować inversedBy? Kiedy nie należy ich używać? Oto przykład: /** * * @ORM\OneToOne(targetEntity="\custMod\Entity\Person", mappedBy="customer") * @ORM\JoinColumn(name="personID", referencedColumnName="id") */ protected $person; /** * * @ORM\OneToOne(targetEntity="\Auth\Entity\User") …
103 php  doctrine-orm 

9
Za dużo danych z var_dump w symfony2 doctrine2
Mam około 40 jednostek i wiele relacji dwukierunkowych. Za każdym razem, gdy używam var_dump ($ user) lub jakiejkolwiek jednostki, moja przeglądarka jest ładowana zbyt dużą ilością danych tablic i zmiennych, po prostu się zawiesiła. chcę, w czym problem. Dane są wstawiane prawidłowo. Czy mogę spowodować problem w produkcji?

7
Jawnie ustaw Id za pomocą Doctrine podczas korzystania ze strategii „AUTO”
Moja jednostka używa tej adnotacji jako swojego identyfikatora: /** * @orm:Id * @orm:Column(type="integer") * @orm:GeneratedValue(strategy="AUTO") */ protected $id; Z czystej bazy danych importuję istniejące rekordy ze starszej bazy danych i staram się zachować te same identyfikatory. Następnie podczas dodawania nowych rekordów chcę, aby MySQL jak zwykle automatycznie zwiększał wartość kolumny …

3
Doktryna i złożone unikalne klucze
Chcę zrobić złożony, unikalny klucz w doktrynie. To są moje pola: /** * @var string $videoDimension * * @Column(name="video_dimension", type="string", nullable=false) */ private $videoDimension; /** * @var string $videoBitrate * * @Column(name="video_bitrate", type="string", nullable=false) */ private $videoBitrate; Jak mogę pokazać doktrynę, że te połączone razem stanowią złożony unikalny klucz?


Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.