quba / ZPI

System obsługujący konferencję naukową
MIT License
3 stars 1 forks source link

Błąd SQL podczas rejestrowania na konferencję. #6

Closed lyzkov closed 13 years ago

lyzkov commented 13 years ago
SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '1-2' for key 'PRIMARY' .

Dostaję coś takiego gdy wchodzę w conference/registration i próbuję się zarejestrować do konferencji wybranej za pomocą listy. Wszystkie pola formularza są poprawne.

Stack Trace

in /home/lyzkov/public_html/ZPI/vendor/doctrine-dbal/lib/Doctrine/DBAL/Connection.php at line 709  -+
     at PDOStatement ->execute (array('1', '2'))
in /home/lyzkov/public_html/ZPI/vendor/doctrine-dbal/lib/Doctrine/DBAL/Connection.php at line 709  -+
    at Connection ->executeUpdate ('INSERT INTO users_conferences (user_id, conference_id) VALUES (?, ?)', array('1', '2'))
in /home/lyzkov/public_html/ZPI/vendor/doctrine/lib/Doctrine/ORM/Persisters/AbstractCollectionPersister.php at line 124  -+
    at AbstractCollectionPersister ->insertRows (object(PersistentCollection))
in /home/lyzkov/public_html/ZPI/vendor/doctrine/lib/Doctrine/ORM/Persisters/AbstractCollectionPersister.php at line 104  -+
    at AbstractCollectionPersister ->update (object(PersistentCollection))
in /home/lyzkov/public_html/ZPI/vendor/doctrine/lib/Doctrine/ORM/UnitOfWork.php at line 310  -+
    at UnitOfWork ->commit ()
in /home/lyzkov/public_html/ZPI/vendor/doctrine/lib/Doctrine/ORM/EntityManager.php at line 334  -+
    at EntityManager ->flush ()
in /home/lyzkov/public_html/ZPI/src/Zpi/ConferenceBundle/Controller/RegistrationController.php at line 76  -+
    at RegistrationController ->newAction (object(Request))
in at line   -+
    at call_user_func_array (array(object(RegistrationController), 'newAction'), array(object(Request)))
in kernel.root_dir/cache/dev/classes.php at line 3883  -+
    at HttpKernel ->handleRaw (object(Request), '1')
in kernel.root_dir/cache/dev/classes.php at line 3853  -+
    at HttpKernel ->handle (object(Request), '1', true)
in kernel.root_dir/cache/dev/classes.php at line 4828  -+
    at HttpKernel ->handle (object(Request), '1', true)
in kernel.root_dir/bootstrap.php.cache at line 547  -+
    at Kernel ->handle (object(Request))
in /home/lyzkov/public_html/ZPI/web/app_dev.php at line 19  -
quba commented 13 years ago

Boguś próbujesz drugi raz zarejestrować się na konferencję, gdzie już jesteś dodany. Dublujesz wpis w users_conferences. Zreszta po kij nam w ogóle ta tabela, skoro chyba wszystko można wyciągnąć z rejestracji na konferencje?

quba commented 13 years ago

Ech gecaj, po co w ogole uzupelniasz ta tabele przy rejestracji? users_conferences wskazuje tylko i wylacznie edytorów konferencji.

lyzkov commented 13 years ago

2 linijka Stack Trace: 'INSERT INTO users_conferences (user_id, conference_id) VALUES (?, ?)'. To wyjaśnia dlaczego jest duplikat. U mnie jest już wpis łączący konferencję o id 2 z userem o id 1. Błąd wynikał z tej linijki:

$user->addConference($registration->getConference());