0

私のコードは以下です。配列があり、この配列を使用してデータベース テーブルを埋めます。テーブルにIDが存在する場合はその行を更新し、IDが存在しない場合は、行を作成してデータを行に書き込みます。

テーブルを空にしてから、次のコードを実行します。

$arrayOfIds=array('1234', '5678');

foreach ($arrayOfIds as $twitter_user_id) {
    $this->ModelName->twitter_user_id = $twitter_user_id;
    if ($this->ModelName->exists()) {
        echo "$twitter_user_id exists<br>";
    } else {
        echo "$twitter_user_id not exists<br>";
        $this->ModelName->create( array ('twitter_user_id' => $twitter_user_id));
    }

    $data = array(
        'ModelName' => array(
            'age' => 15,
            'last_status' => 'online'
        ));

    $this->ModelName->save($data);
}

結果が画面に表示されます:
1234 存在しません
5678 存在します

テーブルを確認すると、2行(twitter_user_id =1234とtwitter_user_id =5678)がテーブルに追加されていました。

テーブルに 2 つのエントリを指定してコードを再実行すると、次の応答も返されます:
1234 存在しません
5678 存在します

私は何かが恋しいですか?

4

1 に答える 1

0

exists() 関数は、あなたが考えているようには機能していないと思います:)

私はこの行を変更します:

if ($this->ModelName->exists()) {

このようなものに:

if ($this->ModelName->find()) {

必要に応じて機能しない場合は、関数を見つけるためにいくつかの条件を追加します..twitter_user_idについて

于 2012-06-21T08:25:36.987 に答える