Closed loveorigami closed 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 контроллер в админке. Получаю ошибку выше
А админка которая? И можете конфиг модуля показать?
Подозреваю что ошибка в большой букве в названии модели Article
. В конфиге вот здесь с маленькой написано, а здесь почему-то с большой.
конфиг модуля
'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,
],
Это не в виджете ошибка. в gridView.
Было с маленькой. Я подумал, что class с большой - и переделал все с большой. Голосование происходит. А вот в gridView - ошибка.
По ошибке явно видно, что из поведения он пытается получить название модели с маленькой буквы. Проверьте ещё разок :)
Да нет ). Я ж писал, что по всякому пробовал. То ошибка, когда было с маленькой. Затем - поменял с большой - ошибка осталась. Сейчас так
#0 X:\domains\ori.yii\vendor\chiliec\yii2-vote\behaviors\RatingBehavior.php(41): chiliec\vote\models\Rating->getRating('Article', 9)
перед этим https://github.com/Chiliec/yii2-vote/blob/master/models/Rating.php#L114 сделал var_dump($model_id);
получил boolean false
И видно - где выводится исключение...
а здесь https://github.com/Chiliec/yii2-vote/blob/master/models/Rating.php#L98 var_dump($matchingModels);
выводит null
все... решил )) конфиг был во frontend-e перенес в common. Заработало....
:+1:
Зашел в админку. Выдало ошибку. В логе винит поведение vote. Отключил его - ошибки нет.