Нет, конечно. Здесь не уместен статический метод. Вам же в любом случае придется найти пользователя, а уже затем обновить ему рейтинг.
Я не знаю как ваш Users устроен, но в общем
и упрощенном случае следует сделать так:
class Users extends Model {
...
protected $id;
protected $name;
protected $password;
...
public function getById($id)
{
// Т.е. мы возвращаем эту же модель Users, но уже с данными конкретной записи из БД
return $this->where('id', $id);
}
public function rating()
{
// Возвращает модель рейтинга данного пользователя
// Саму модель рейтинга здесь хардкожу, но в реальности лучше что-то более гибкое придумать
return RatingModel::where('user_id', $this->id);
}
public function updateRating($rating)
{
// обновляем рейтинг данного пользователя
$this->rating()->update(['rating'=>$rating]);
}
...
}
Таким образом получается гибкая и понятная система. В самом коде используется так:
$user = (new Users)->getById(1);
$user->updateRating(200);
Статику следует использовать тогда, когда это оправданно и необходимо, и когда без неё нельзя.