0
私はFriendsOfCakeのEasy model searchingプラグインを使用しており、これを使用してテーブルデータを検索しています。それは非常にうまくいっていますが、私は、関連するアイテムを、創設されたアイテムの外部キーと一致する外部キーで取得することを今は控えています。Cakephp 3検索プラグイン関連フィールドを取得
私の検索では検索対象の行だけが返されますが、同じforKeyを持つ他の行が必要なことをどのように定義できますか?コントローラー表内の
$query = $this->Content
->find('search', [
'search' => $this->request->getQuery()
]);
検索設定:コントローラ内部の
ID | forKey | name | content
------ | ------ | ------ | ------
1 | 1 | value1 | content1
2 | 1 | value2 | content2
3 | 2 | value3 | content3
検索機能:
public function initialize(array $config) {
parent::initialize($config);
// Search
$this->addBehavior('Search.Search');
// Setup search filter using search manager
$this->searchManager()
// ->value('id')
->add('q', 'Search.Like', [
'before' => true,
'after' => true,
'fieldMode' => 'OR',
'comparison' => 'LIKE',
'wildcardAny' => '*',
'wildcardOne' => '?',
'field' => ['content'],
])
->add('foo', 'Search.Callback', [
'callback' => function ($query, $args, $filter) {
// Modify $query as required
}]);
}
私はまだこのプラグインを使用していませんが、 '$ query-> contains([...])をコールバックに入れてもうまくいくようですか?あるいは 'find( 'search')'の後に ' - > contains'節を追加しますか? –