chiliec / yii2-vote

Provides voting for any model :+1: :-1:
BSD 3-Clause "New" or "Revised" License
72 stars 29 forks source link

Error in backend #7

Closed loveorigami closed 9 years ago

loveorigami commented 9 years ago

Зашел в админку. Выдало ошибку. В логе винит поведение vote. Отключил его - ошибки нет. 2015-01-29_21-33-04

chiliec commented 9 years ago

Как бы это воспроизвести...

loveorigami commented 9 years ago

Стандартная модель из gii Добавляем

class Article extends \yii\db\ActiveRecord
{
    const STATUS_PUBLISHED = 1;
    const STATUS_DRAFT = 0;

    /**
     * @inheritdoc
     */
    public static function tableName()
    {
        return '{{%article}}';
    }

    /**
     * @inheritdoc
     */
    public function behaviors()
    {
        return [
            [
                'class' => \chiliec\vote\behaviors\RatingBehavior::className(),
                'model_name' => 'Article', // name of this model
            ],
        ];
    }

перехожу на сгенерированный через Crud контроллер в админке. Получаю ошибку выше

chiliec commented 9 years ago

А админка которая? И можете конфиг модуля показать?

chiliec commented 9 years ago

Подозреваю что ошибка в большой букве в названии модели Article. В конфиге вот здесь с маленькой написано, а здесь почему-то с большой.

loveorigami commented 9 years ago

конфиг модуля

        'vote' => [
            'class' => 'chiliec\vote\Module',
            'matchingModels' => [ // matching model names with whatever integer ID
                'Article' => 1,
            ],
            'allow_guests' => false, // if true remember IP for guests, otherwise - UserID
            'allow_change_vote' => false,
        ],

crud

loveorigami commented 9 years ago

Это не в виджете ошибка. в gridView.

Было с маленькой. Я подумал, что class с большой - и переделал все с большой. Голосование происходит. А вот в gridView - ошибка.

chiliec commented 9 years ago

По ошибке явно видно, что из поведения он пытается получить название модели с маленькой буквы. Проверьте ещё разок :) error

loveorigami commented 9 years ago

Да нет ). Я ж писал, что по всякому пробовал. То ошибка, когда было с маленькой. Затем - поменял с большой - ошибка осталась. Сейчас так

#0 X:\domains\ori.yii\vendor\chiliec\yii2-vote\behaviors\RatingBehavior.php(41): chiliec\vote\models\Rating->getRating('Article', 9)
loveorigami commented 9 years ago

перед этим https://github.com/Chiliec/yii2-vote/blob/master/models/Rating.php#L114 сделал var_dump($model_id);

получил boolean false

И видно - где выводится исключение...

loveorigami commented 9 years ago

а здесь https://github.com/Chiliec/yii2-vote/blob/master/models/Rating.php#L98 var_dump($matchingModels);

выводит null

loveorigami commented 9 years ago

все... решил )) конфиг был во frontend-e перенес в common. Заработало....

chiliec commented 9 years ago

:+1: