前提

Laravel でウェブアプリの開発をしています。
今回は下記のリンクを参考にして、リレーションの数で orderBy をしたいなと思っています。
https://qiita.com/hareku/items/8cef12d5a9a4c18beae8


発生している問題・エラーメッセージ

具体的にはスクールの生徒数が多い順番でとってきたいというものです。

$schools = School::withCount('users')->orderBy('users_count', 'desc') -> get();

SQLSTATE[42883]: Undefined function: 7 ERROR: operator does not exist: integer = character varying

HINT: No operator matches the given name and argument type(s). You might need to add explicit type casts.

上記のようなエラーとヒントが表示されました。

調べてみると、 pgsql の 8.3 以降では型か何かに対して厳密になっており、それが原因のエラーではないかと考察しています。

またエラー文にも integer = character という記述があるので、型違いの処理をしてしまっているのかなと思っています。

しかし、 School::withCount('users')->orderBy('users_count', 'desc') という使い慣れない方法で orderBy を試みているので、具体的にどのようにすれば解決できるのかわからず、質問させていただきました。

曖昧な質問になってしまっていたら大変申し訳ないのですが、何かしらアドバイスをいただければと思います。

よろしくお願いいたします。