我的代码如下。我有一个数组,通过使用这个数组我填充数据库表。如果表中存在一些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存在
我错过了什么吗?
答案 0 :(得分:0)
我认为exists()函数的工作方式并不像你认为必须的那样:)
我会改变这一行:
if ($this->ModelName->exists()) {
这样的事情:
if ($this->ModelName->find()) {
如果它不能正常工作,添加一些条件来查找函数..关于你的twitter_user_id