CakePHP怎么写MySQL的IN条件

WBOY
リリース: 2016-06-06 20:50:49
オリジナル
1078 人が閲覧しました

我的代码是这么写的

$ids = '1,2,3,4';
$conditions[]=array('id IN (?)'=> $ids);
ログイン後にコピー
ログイン後にコピー

拼出来的SQL是

SELECT ...ooxx... WHERE id IN ('1,2,3,4');
ログイン後にコピー
ログイン後にコピー

这条SQL其实是错的,应该是

SELECT ...ooxx... WHERE id IN (1,2,3,4);
ログイン後にコピー
ログイン後にコピー

我应该在代码里怎么写呢?

回复内容:

我的代码是这么写的

$ids = '1,2,3,4';
$conditions[]=array('id IN (?)'=> $ids);
ログイン後にコピー
ログイン後にコピー

拼出来的SQL是

SELECT ...ooxx... WHERE id IN ('1,2,3,4');
ログイン後にコピー
ログイン後にコピー

这条SQL其实是错的,应该是

SELECT ...ooxx... WHERE id IN (1,2,3,4);
ログイン後にコピー
ログイン後にコピー

我应该在代码里怎么写呢?

$conditions[] = array(
                    'id' => array(1, 2, 3, 4 )
                );
ログイン後にコピー

可以通过在对应的字段名后面设置一个包含有值的数组来实现与SQL逻辑运算符IN()同等的效果。

久不用了 ... 在我记忆中直接传递数组即可 ...

示例如下 ...

$this->foo->find( 'all', array(
    'conditions' => array( 'foo.bar' => array( 1, 2, 3, 4 ) )
) );
ログイン後にコピー
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート