tzx1z 26 марта 2015 1 16
Добрый день, Коллеги. Может быть Вы сможете мне подсказать. Столкнулся с проблемой, в корзине при удалении товара из заказа сообщается об ошибке: object_err_save Перерыл все файлы и базу искал откуда берется эта фраза.
В лог пишется такое:


[2015-03-26 13:24:40] (ERROR @ /assets/components/basket/connectors/connector.php) Attempt to save lazy object: Array
(
    [id] => 256
    [order_id] => 97
    [product_id] => 30
    [transfer_tab] => transfer
    [dep] => Berlin-Wannsee Train Station, Kronprinzessinnenweg 250, 14109 Berlin, Wannsee
    [des] => Prague Airport (PRG), Aviatická 1039/6, 161 00 Praha 6-Ruzyně
    [quantity] => 0
    [price] => 72885.99375
    [distance] => 363975
    [currency_id] => 79
    [booking_class] => First_Class
    [booking_starts_at_1x] => 26
    [booking_starts_at_2x] => 3
    [booking_starts_at_3x] => 2015
    [booking_starts_at_4x] => 12
    [booking_starts_at_5x] => 0
    [airline_code] => 
    [additional_comments] => 
    [action] => products/remove
    [product_key] => 256
    [basket_action] => products/remove
    [key] => 256
    [order_product_id] => 256
)



Нашел статью community.modx-cms.ru/blog/modx-xpdo/9693.html и кажется ответ где-то вней, но я не настолько глубоко знаю modx.
Заранее благодарен за любую помощь.
16 комментариев
Fi1osof1
Fi1osof 26 марта 2015г в 21:42 #
А каким образом вы добавили колонки вашему объекту OrderProduct?
t
tzx1z 26 марта 2015г в 21:48 #
действовал по этой инструкции: modxclub.ru/blog/dokumentatsiya-dlya-spetsialistov/258.html
Fi1osof1
Fi1osof 26 марта 2015г в 21:55 #
Выложите мап-файл вашего класса OrderProduct куда-нибудь.
t
tzx1z 26 марта 2015г в 22:07 #
Fi1osof1
Fi1osof 26 марта 2015г в 22:16 #
На вид все ОК. Шлите мне на почту адрес сайта, логин и пароль в админку, гляну что не так.
Fi1osof1
Fi1osof 27 марта 2015г в 00:00 #
public function beforeSave(){
        print_r($this->object->_lazy);
        
        return "Debug";
        return parent::beforeSave();
}
Что видим?
Array
(
    [7] => testut
    [10] => duration
)

Зачем вам частичное описание этой и этой колонок?
t
tzx1z 27 марта 2015г в 11:32 #
Ага, раньше было нужно, потом функционал изменился, а описание колонок осталось.
Большое спасибо!
Хотя до конца не ясно, почему описание этих колонок вызывало такую ошибку.
Fi1osof1
Fi1osof 27 марта 2015г в 16:02 #
Хотя до конца не ясно, почему описание этих колонок вызывало такую ошибку.
Потому что есть описание колонок, но нет самих колонок в перечислении. То есть данные для сохранения как бы есть, но их как бы некуда сохранять. Поэтому xPDO и матерится. По этой причине не совсем ясен смысл отделения колонок от описания колонок. ИМХО надо было описания колонок фигачить в массив колонок, а не плодить два отдельных массива. Но сейчас уже наверняка это никто менять не будет.
t
tzx1z 27 марта 2015г в 20:25 #
надо было описания колонок фигачить в массив колонок
А где находится массив колонок?
Fi1osof1
Fi1osof 28 марта 2015г в 06:31 #
Имеются ввиду элементы fields и fieldMeta. Не ясно зачем их разбили по отдельности. Их можно было объединить и подобных проблем бы не возникало.
t
tzx1z 29 марта 2015г в 11:02 #
Ясно, Я увидел что поле size описано в fields и fieldMeta, так и делал.
gist.github.com/Fi1osof/f0372195175ade7a72fb/revisions
Fi1osof1
Fi1osof 29 марта 2015г в 11:27 #
Я не говорю, что вам не надо было так делать. Я говорю странно, что Джейсон Ковард в xPDO разбил эти данные на две отдельных сущности. Практического применения этому я так и не нашел.
t
tzx1z 29 марта 2015г в 12:37 #
ааа, Sorry, Я Вас неправильно понял)))
Fi1osof1
Fi1osof 29 марта 2015г в 17:57 #
Ничего страшного.
t
tzx1z 27 марта 2015г в 12:08 #
в поле duration заносится ориентировочное время на трансфер в core/components/billing/processors/mgr/orders/products/create.class.php
а testut — уже ненужен
Еще раз большое спасибо!



Fi1osof1
Fi1osof 27 марта 2015г в 16:03 #
Пожалуйста!
Авторизуйтесь или зарегистрируйтесь (можно через соцсети ), чтобы оставлять комментарии.