2015-11-20 3 views
0

Я создаю объекты в базе данных pimcore из процедуры mySQL.Ошибка при попытке редактировать объект

Я поместил данные в объекты, object_query_id, object_store_id и мою таблицу.

После этого я могу видеть аль объекты правильно, но если я пытаюсь изменить одну из них я была ошибка:

~invalid key for object with id [ 30553 ] key is: [2015_11_21_9_45_RT_D_EC_DME_RMI_oid_28748_did_28739_YYYYMMDDHH_2015112017]~ 

Этот ключ является уникальным, я уверен. Что это значит?

Спасибо.

Это мой запрос для вставки объектов в таблицы (я использую собственную точку зрения):

INSERT INTO bd_avia.objects 
(o_parentId ,o_type ,o_key ,o_path ,o_index ,o_published ,o_creationDate ,o_modificationDate ,o_userOwner ,o_userModification ,o_classId ,o_className) 
(SELECT 
    15378 o_parentId, 'object' o_type, t.o_key, '/airticket/' o_path, 8888 o_index, 0 o_published, UNIX_TIMESTAMP() o_creationDate, 
    UNIX_TIMESTAMP() o_modificationDate, 2 o_userOwner, 4 o_userModification, 6 oo_classId, 'airticket' oo_className 
FROM bd_avia.generateRT t); 

INSERT INTO bd_avia.object_query_6 
(
    oo_id ,oo_classId ,oo_className ,type_way 
,ow_ticket_type ,ow_origincode ,ow_destinationcode ,ow_depart ,ow_arrive ,ow_flightnumber ,ow_airlinecode ,ow_duration 
,bk_ticket_type ,bk_origincode ,bk_destinationcode ,bk_depart ,bk_arrive ,bk_flightnumber ,bk_airlinecode ,bk_duration 
,currencycode ,totaladultprice ,totalchildprice ,totalinfantprice ,flightdescription ,flightnote ,quantity ,state ,nettoadultprice ,nettochildprice ,nettoinfantprice ,supplier 
) 
(
    SELECT 
    o.o_id oo_id ,oo_classId ,oo_className ,type_way 
,ow_ticket_type ,ow_origincode ,ow_destinationcode ,ow_depart ,ow_arrive ,ow_flightnumber ,ow_airlinecode ,ow_duration 
,bk_ticket_type ,bk_origincode ,bk_destinationcode ,bk_depart ,bk_arrive ,bk_flightnumber ,bk_airlinecode ,bk_duration 
,currencycode ,totaladultprice ,totalchildprice ,totalinfantprice ,flightdescription ,flightnote ,quantity ,state ,nettoadultprice ,nettochildprice ,nettoinfantprice ,supplier 
from generateRT rt INNER JOIN objects o ON o.o_key = rt.o_key 
); 

INSERT INTO bd_avia.object_store_6 
(
    oo_id ,type_way 
,ow_ticket_type ,ow_origincode ,ow_destinationcode ,ow_depart ,ow_arrive ,ow_flightnumber ,ow_airlinecode ,ow_duration 
,bk_ticket_type ,bk_origincode ,bk_destinationcode ,bk_depart ,bk_arrive ,bk_flightnumber ,bk_airlinecode ,bk_duration 
,currencycode ,totaladultprice ,totalchildprice ,totalinfantprice ,flightdescription ,flightnote ,quantity ,state ,nettoadultprice ,nettochildprice ,nettoinfantprice ,supplier 
) 
(
    SELECT 
    o.o_id oo_id ,type_way 
,ow_ticket_type ,ow_origincode ,ow_destinationcode ,ow_depart ,ow_arrive ,ow_flightnumber ,ow_airlinecode ,ow_duration 
,bk_ticket_type ,bk_origincode ,bk_destinationcode ,bk_depart ,bk_arrive ,bk_flightnumber ,bk_airlinecode ,bk_duration 
,currencycode ,totaladultprice ,totalchildprice ,totalinfantprice ,flightdescription ,flightnote ,quantity ,state ,nettoadultprice ,nettochildprice ,nettoinfantprice ,supplier 
from generateRT rt INNER JOIN objects o ON o.o_key = rt.o_key 
); 

INSERT INTO bd_avia.vvk_org_dst (oid ,did ,o_key, tuStamp) (SELECT oid ,did ,o_key, tuStamp FROM generateRT); 

UPDATE bd_avia.objects SET o_index = 0 WHERE o_index = 8888; 

ответ

3

Ключ должен соответствовать этому регулярному выражению: /^[a-z0-9_~\.\-]+$/

Ваш ключ имеет прописные буквы. Сделайте их строчными. Pimcore полагается на клавиши объектов, которые являются строчными.

См. Также: \Pimcore\Tool::isValidKey() - это функция, которая проверяет, действительно ли ключ.