CakePHP数据库查询for循环

时间:2012-06-21 08:16:07

标签: php mysql cakephp cakephp-2.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存在

我错过了什么吗?

1 个答案:

答案 0 :(得分:0)

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

我会改变这一行:

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

这样的事情:

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

如果它不能正常工作,添加一些条件来查找函数..关于你的twitter_user_id