ShopingCart ошибка при update

Общие вопросы по использованию фреймворка. Если не знаете как что-то сделать и это про Yii, вам сюда.
Ответить
Аватара пользователя
porcelanosa
Сообщения: 570
Зарегистрирован: 2010.03.16, 04:31
Откуда: Москва

ShopingCart ошибка при update

Сообщение porcelanosa »

Ошибка при update():
Через ajax пытаюсь обновить корзину.
на локальном сервере не выскакивает ошибка, но и не обновляется.
На удаленном 500 ошибка без пояснений.

Код: Выделить всё

       foreach($_POST as $id=>$qua)
        {
            Yii::app()->shoppingCart->update($id,$qua);            
        } 
В POST следующее.

Код: Выделить всё

TilesItems335=5&MosaicItems3=2
Добавление, удаление, очистка работает как надо.
В чем тут может быть дело?
mcintosh-club.ru - первый мой сайт с использование Yii //
Акустика Sonus Faber Hi-End класса//
Необрезная доска и другие пиломатериалы
Nafania
Сообщения: 1227
Зарегистрирован: 2011.01.31, 13:12

Re: ShopingCart ошибка при update

Сообщение Nafania »

В том, что вместо $id должен быть объект.
Надо примерно так

Код: Выделить всё

           foreach($_POST as $id=>$qua)
            {
$model = Model::model()->findByPk($id);
Yii::app()->shoppingCart->update($model,$qua);            
            } 
 
Аватара пользователя
porcelanosa
Сообщения: 570
Зарегистрирован: 2010.03.16, 04:31
Откуда: Москва

Re: ShopingCart ошибка при update

Сообщение porcelanosa »

Nafania писал(а):В том, что вместо $id должен быть объект.
Надо примерно так

Код: Выделить всё

           foreach($_POST as $id=>$qua)
            {
$model = Model::model()->findByPk($id);
Yii::app()->shoppingCart->update($model,$qua);            
            } 
 
Ясно - а у меня там разные модели - ну будем пробовать. Спасибо.
mcintosh-club.ru - первый мой сайт с использование Yii //
Акустика Sonus Faber Hi-End класса//
Необрезная доска и другие пиломатериалы
Аватара пользователя
porcelanosa
Сообщения: 570
Зарегистрирован: 2010.03.16, 04:31
Откуда: Москва

Re: ShopingCart ошибка при update

Сообщение porcelanosa »

Тема не совсем по вопросу.
Но как мне получить объект класса (модель) по имени класса?
В связи с темой поста - я вытаскиваю из запроса имя модели id и количество- Теперь вот надо обновить класс, а найти по имени модели саму модель не получается.
mcintosh-club.ru - первый мой сайт с использование Yii //
Акустика Sonus Faber Hi-End класса//
Необрезная доска и другие пиломатериалы
Аватара пользователя
samdark
Администратор
Сообщения: 9489
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: ShopingCart ошибка при update

Сообщение samdark »

Ну… $modelName::model()->findByPk($id);
Аватара пользователя
porcelanosa
Сообщения: 570
Зарегистрирован: 2010.03.16, 04:31
Откуда: Москва

Re: ShopingCart ошибка при update

Сообщение porcelanosa »

Sam Dark писал(а):Ну… $modelName::model()->findByPk($id);
почему то так не работает

Код: Выделить всё

Parse error: syntax error, unexpected T_PAAMAYIM_NEKUDOTAYIM in
ругается на

Код: Выделить всё

            $id= $model::model()->findByPk($id); 
Вот такой код

Код: Выделить всё

       foreach($_POST as $id=>$qua)
        {
            $model_name=ereg_replace('[0-9]', '', $id);
            $id=ereg_replace('[A-Za-z]+', '', $id);
            $id= $model_name::model()->findByPk($id);
            Yii::app()->shoppingCart->update($id,$qua);
            
        } 
не работает.
Пробовала через Рефлекшен - но не совсем понимаю, что там происходит.
Следующий код тоже не работает:

Код: Выделить всё

       foreach($_POST as $id=>$qua)
        {
            $model_name=ereg_replace('[0-9]', '', $id);
            $id=ereg_replace('[A-Za-z]+', '', $id);
            $method = new ReflectionMethod('for_reflection',$model_name);
            $model = $method->Invoke(null);
            $id= $model::model()->findByPk($id);
            Yii::app()->shoppingCart->update($id,$qua);
            
        } 
Такой тоже

Код: Выделить всё

       foreach($_POST as $id=>$qua)
        {
            $model_name=ereg_replace('[0-9]', '', $id);
            $id=ereg_replace('[A-Za-z]+', '', $id);
            $class = new ReflectionClass($model_name);
            $model = $class->newInstance();
            $id= $model::model()->findByPk($id);
            Yii::app()->shoppingCart->update($id,$qua);
            
        } 
с той же ошибкой
mcintosh-club.ru - первый мой сайт с использование Yii //
Акустика Sonus Faber Hi-End класса//
Необрезная доска и другие пиломатериалы
Ответить