CakePHP3の検索プラグインとして、friendsofcake/searchが良く使われていると思いますが、CakePHP3.6で仕様が変わってしまいました。
CakePHPはこういうことがよくあるので困っちゃいますね。
変更点
こんな感じの書き方に変わりました
model
use Search\Manager;
class ApplesTable extends Table{
public function initialize(){ //初期化時にまとめてやる場合
parent::initialize();
$this->addBehavior("Search.Search");
$this->searchManager()
->value("fruit_id");
}
public function searchManager(){ //個別に書く場合
$searchManager = $this->behaviors()->Search->searchManager();
$searchManager
->value('fruit_id');
return $searchManager;
}
}
Controller
class HogesController extends Controller{
public function initialize(){
parent::initialize();
$this->loadComponent("Search.Prg",[
"actions" => ["index"]
]);
}
public function index(){
$filter = $this->request->getQuery();
$query = $this->Emails->find("search", $filter);
$apples = $this->paginate($query);
$this->set(compact("hoges"));
}
}
モデルでは、以前はsearchConfiguration()を呼ばなくても裏で勝手に読んでくれていたみたいですが、今回から自分で呼ばないとダメ見たいです。
また、filterParams()なくなったようで、Request::getQuery()メソッドからうけとっだデーターをそのままfindメソッドに渡すだけでよくなったようです。

