0

CakePHP 用の CakeDC 検索プラグインを使用していますが、フルネームで検索する必要があります。名前を姓と名を別々にデータベースに保存しました。姓と名を連結して検索を実行するにはどうすればよいですか。

したがって、私のフォーム入力は、会員番号または氏名のいずれかを検索します。

Cakephp バージョン 2.3.5

public $filterArgs = array(
    'member_no' => array(
        'type' => 'like' , 
        'field' => array(
            'member_no', 
            'name'
        )
    )
);

アップデート:

これは、SQL クエリとしては次のようになります。

SELECT
   CONCAT_WS(' ', firstName,lastName) AS name
FROM 
   table
WHERE 
   name LIKE '%$keywords%'

マークのおかげで、ここに私がモデルに追加したものがあります。すべてがうまくいきます。

public $virtualFields = array(
    'name' => 'CONCAT(Member.first_name, " ", Member.last_name)'
);
4

1 に答える 1

0

上記の例をクリーンな方法で使用したい場合は、ドキュメントに記載されているプラ​​グインを使用しないでください。すべての作業を許可しますか?

public $virtualFields = array(
    'full_name' => 'CONCAT_WS(' ', firstName,lastName)'
);
public $filterArgs = array(
    'search' => array(
        'type' => 'like' , 
        'field' => 'full_name'
    )
);

それだけです。または問題は何ですか?

于 2013-05-23T16:57:03.537 に答える