19452
CentOS 6.6  
PHP 5.4.41 (cli)  
cakephp 2.7.1

CakePHPのfind条件にORを設定  
下記のコード1で検索を行うと問題なく動きます

コード1

```

    $conditions['OR'] = array('Sample.test_id' => array(1,2));
    $p_Sample = $this->paginate('Sample',$conditions);
    
```

or条件を可変にするため下記のコード2で実行すると  
Sample.test_id=1の条件のみの結果となりカンマ以降が検索されません。  
コード2

```

    $con='1,2';
    $conditions['OR'] = array('Sample.test_id' => array($con));
    $p_Sample = $this->paginate('Sample',$conditions);
    
```

原因は何でしょうか？  
ご教授のほどよろしくお願いします。
CC BY-SA 3.0
2015-11-29T15:56:53.843
19445
2015-11-30T01:21:06.247
8168
question
php cakephp
CakePHPのfind条件にORを設定
コード2は検索条件として`1,2`という文字列1個の配列を渡している、つまり

$conditions['OR'] = array('Sample.test_id' => array('1,2'));

になるので、

```

    WHERE Sample.test_id => '1,2';
    
```

になって、おそらくtest_idは整数型だと思うので

```

    WHERE Sample.test_id = 1;
    
```

と型変換されてるんでしょう。

```

    $con=array(1,2);
    $conditions['OR'] = array('Sample.test_id' => $con);
    
```

なら意図通りになると思います。
CC BY-SA 3.0
2015-11-30T01:21:06.247
19452
2015-11-30T01:21:06.247
5793
19445
answer