• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Symfony problem z relacjami w behat

Object Storage Arubacloud
0 głosów
246 wizyt
pytanie zadane 22 marca 2019 w PHP przez mordimer Mądrala (5,720 p.)

Witam mam problem w testach behat w symfony 2. Mam dwie encje: 

////Transaction

DM\MultiStepFormBundle\Entity\Transaction:
    type: entity
    repositoryClass: DM\MultiStepFormBundle\Repository\Transaction\TransactionRepository
    table: rb_multistepform_transaction
    
    indexes:
        transaction_id_index:
            columns: [ transaction_id ]
    
    id:
        id:
            type: integer
            generator: { strategy: AUTO }
    fields:
        created_at:
            type: datetime
            nullable: false
        transaction_id:
            type: string
            length: 128
            nullable: false
        is_client_new:
            type: boolean
            options:
                default: false
        utm_source:
            type: string
            length: 255
            nullable: true
        utm_medium:
            type: string
            length: 255
            nullable: true
        utm_campaign:
            type: string
            length: 255
            nullable: true
        user_agent:
            type: text
            nullable: true
        http_referer:
            type: string
            length: 255
            nullable: true
        ip:
            type: string
            length: 32
            nullable: true
        status:
            type: smallint
            nullable: false
            options:
                default: 0
        continue_service_run:
            type: boolean
            nullable: false
            options:
                default: false           
        continue_serivce_run_datetime:
            type: datetime
            nullable: true
    
    oneToMany:
        items:
            targetEntity: DM\MultiStepFormBundle\Entity\TransactionItem
            mappedBy: transaction
            cascade: [persist, merge, remove]
            
    manyToOne:
        client:
            targetEntity: DM\KlienciBundle\Entity\Client
            inversedBy: multistepform_transactions
            joinColumn:
                name: client_id
                referencedColumnName: id

////TransactionItem

DM\MultiStepFormBundle\Entity\TransactionItem:
    type: entity
    repositoryClass: DM\MultiStepFormBundle\Repository\Transaction\TransactionRepository
    table: rb_multistepform_transaction_item
    id:
        id:
            type: integer
            generator: { strategy: AUTO }
    
    indexes:
        partner_status_index:
            columns: [ partner_name, status ]
    
    fields:
        type:
            type: smallint
            nullable: false
        partner_name:
            type: string
            length: 128
            nullable: true
        status:
            type: smallint
            nullable: false
            options:
                default: 0
        link_id:
            type: integer
            nullable: true
        product_id:
            type: integer
            nullable: true
        pixelconversion_hash:
            type: string
            length: 128
            nullable: true
        partner_api_response:
            type: json_array
            nullable: true
        clicked:
            type: boolean
            nullable: false
            options:
                default: 0
        clicked_datetime:
            type: datetime
            nullable: true
        order_nr:
            type: integer
            nullable: true
        highlighted:
            type: boolean
            nullable: false
            options:
                default: false
    
    manyToOne:
        transaction:
            targetEntity: DM\MultiStepFormBundle\Entity\Transaction
            inversedBy: items
            cascade: [persist, merge, remove]
            joinColumn:
                name: transaction_id
                referencedColumnName: id

Podczas testowania serwisu w którym mam taką pętle:

    $transactions = $this->transactionRepository->getTransactionsByContinueServiceRunInDateRange(0, $minDateTime, $maxDateTime);

    foreach ($transactions as $transactionKey => $singleTransaction) {
    //w tym miejscu nie są zaciagane relacje 
        $transactionItems = $singleTransaction->getItems();       
    //jak wykonuje tesowe zapytanie itemy pobierane są poprawnie
        $transactionItemsQuery = $this->transactionRepository->getItems($singleTransaction->getId());

    }


W której z odwróconej relacji potrzebuje pobrać itemy. Przy normalnym wywołaniu serwisu w symfony relacje są zaciągane poprawnie i wszystko jest ok. Natomiast przy odpalaniu testu w behacie relacje w zmiennej $transactionItems są pustą kolekcją. Dane na pewno istnieją w bazie danych bo w zmiennej $transactionItemsQuery jak zaciągam dla testu itemy poprzez zapytanie mam poprawne dane. Spotkał się ktoś kiedyś z czymś takim w behacie ?

komentarz 22 marca 2019 przez Mariusz08 Maniak (62,300 p.)

symfony 2

Kto tego jeszcze uzywa 

komentarz 22 marca 2019 przez Ehlert Ekspert (212,670 p.)

@Mariusz08​​​​​​, jak się umie pisać i wie coś o architekturze to nie wiem w czym masz problem.

komentarz 22 marca 2019 przez Mariusz08 Maniak (62,300 p.)
To, że mamy Sf 4.2 i raczej powinniśmy iść w stronę nowszych systemów a nie utrzymywać stare kobyły :>
komentarz 22 marca 2019 przez Ehlert Ekspert (212,670 p.)
Widać że jesteś daleko od problemów komercyjnych.
komentarz 25 marca 2019 przez mordimer Mądrala (5,720 p.)

@Mariusz08, Nie pytałem której wersji symfony użyć tylko mam inny problem :] 

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

0 głosów
1 odpowiedź 313 wizyt
pytanie zadane 9 lipca 2019 w PHP przez mi-20 Stary wyjadacz (13,190 p.)
0 głosów
1 odpowiedź 257 wizyt
0 głosów
0 odpowiedzi 153 wizyt
pytanie zadane 10 maja 2020 w PHP przez XiverKi Bywalec (2,050 p.)

92,555 zapytań

141,403 odpowiedzi

319,554 komentarzy

61,940 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...