эта ошибка происходит когда вы пытаетесь обратиться к свойству переменной, которая не является объектом (чаще всего null)
например,
function f(){
return null;// где-то произошла ошибка, возвращаем null заместо объекта
}
$x = f();
$x->a = 5;
в данном случае
$criteria->compare('category_id', $category->id); // $category - не является объектом
сделайте проверку после
$category = Categories::model()->getCategoryBySefName($sefname);
Специально для FanatPHP
function f(){
$x = null;
$x->id = 1;
return $x;
}
$f = f();
var_dump($f);
/*
PHP Warning: Creating default object from empty value in /test.php on line 6
object(stdClass)#1 (1) {
["id"]=>
int(1)
}
*/