エラー内容
Cakeのページネーションで件数を表示しようとしたらエラーで動かない!
エラーメッセージには以下が表示されていました。
Cake\View\Helper\PaginatorHelper::counter(): Argument #1 ($format) must be of type string, array given, called in
must be of type string, array given, called in
引数の型が違う?でもドキュメント通りのはず。
CakePHPのドキュメント
https://book.cakephp.org/4/ja/views/helpers/paginator.html
解決
<div class="list_num"><?php echo $this->Paginator->counter(['format' => "<span>{{count}}</span>件"]) ?></div>
を以下に書き換えて解決しました。
<div class="list_num"><?php echo $this->Paginator->counter("<span>{{count}}</span>件"); ?></div>
ドキュメントでは配列で渡してるのに、Stringで渡さないといけないのなぁぜなぁぜ?
仕様が変わってる。
/vendor/cakephp/cakephp/src/View/HElper/PaginatorHelper.php
のcounterが微妙に変わってました。
多分「counter('range')」とかで簡単に数字だけを呼び出せるようにって変更だとは思いますが、3からの移植を考えるとそのままでもよかったような気もします。optionが第二引数として残ってるのは移植用かな?。ページ関連とその他のオプションを明確に分けるのももしかしたらあるかもしれません。