我的代码如下。我有一个数组,并通过使用这个数组填充数据库表。如果表中存在某个id,我更新它的行,如果id不存在,那么我创建行并将数据写入行。CakePHP数据库查询for循环
我清空表,然后运行该代码:
$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存在
难道我错过了什么?
除非y你是否使用了插件中的模型(也许是Twitter的一个模型?),而你没有显示它,它应该是'$ this-> ModelName-> id'来检查它是否存在。 – jeremyharris