cakephp3のsearch pluginのlookupとは

ぜんっぜんよく分かってないのですが動いたので自分用覚書なぐり書き

作った検索フォームに
name = hoge_name
name = hoge_id
っていう2つのフォームがあったとする
hoge_idはhiddenになっていて
フォームとして表示されてるのはhoge_nameのみ
でも検索で使用したいのはhoge_id

ってやったらなんか検索できるようになった

最初は

にしてたんだけど、それだとページネートした時
フォームにhoge_nameの値が保持されなくて。

CakePHP3、Search Pluginで複数のモデルから検索

なんだろ、Search Pluginのバージョン?CakePHPが3だから?
やりたいことがなかなか出てこなかったのでメモ

Search Pluginは普通メインのテーブルからのみの検索となるので
それに紐付いてるテーブルからも検索できるようにしたかった。

コントローラー側の
public $presetVarsと
モデルの
public $filterArgsを設定すればできた

メインのモデルに紐付いてるモデルをHogesモデルだとすると
コントローラー側のpublic $presetVarsを

statusはメインのモデルなのでモデル名を指定しないでも大丈夫だった
Hoges.hoge_idというのは、field名hoge_idという検索フォームはHogesモデルのhoge_idカラムから検索してね
という意味なんだと思う

ただ、コレだけだと動かなくて

モデルのpublic $filterArgsを

というようにコントローラーに書いたのと同じ感じで書いてあげると動いた。
ただメインのモデルにHogesという別モデルのことも書かなきゃいけないのがちょっと違和感……