0

複数のテーブルを調べるために、containable 動作を使用しています。

    $this->paginate = array(
        'contain' => array(
            'Co' => array('fields' => array('ref')),
            'CoItemType' => array('fields' => array('name')),
            'Casing' => array(
                'fields' => array('id','barcode','CONCAT(plant_dot,size_dot,product_line_dot,production_week) as dot'),
                'Customer' => array('fields' => array('company_name')),
            )
        )
    );

これは期待どおりに機能します。ただし、これをjQueryデータテーブルと統合しており、dataTablesが条件を渡す方法はフィールドを指定しません。だから私はcontainsの外で条件をやりたいと思っています...

    'conditions' = array(
        'OR' => array(
            array("Table.field_name LIKE " => '%'.$parameter.'%'),
            array("Table.field_name LIKE " => '%'.$parameter.'%'),
            array("Table.field_name LIKE " => '%'.$parameter.'%')
        )
    )

もちろん、containable 動作では、contain 配列の tables キーの下に条件を含める必要があるため、これは不可能です。これはイライラします。誰かがこの問題の解決策または回避策を持っていますか?

CakePHP 2.x を使用しています

4

1 に答える 1

0

コメントに記載されているように、Linkable Behavior を使用します。

于 2013-02-13T04:47:30.413 に答える