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)。

当我用表中的两个条目重新运行我的代码时,我也得到这个响应:
1234 不存在
5678 存在

我错过了什么吗?

4

1 回答 1

0

我认为 exists() 函数的工作方式不像你想的那样:)

我会改变这一行:

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

像这样:

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

如果它没有按需要工作,请添加一些条件来查找功能..关于您的 twitter_user_id

于 2012-06-21T08:25:36.987 回答