这是我的模特:
class Users extends Model
{
public $id;
public $fname;
public $lname;
public $email;
public $password;
public $emailVerified;
public $suspended;
}
现在我要去suspend
用户......
$user = Users::findFirst(
array(
'conditions' => "email=:email:",
'bind' => array(
'email' => $context->request->getPost("email")
))
);
$user->suspended = 1;
$user->save();
现在出现问题,在我更新用户数据后,suspended
字段按预期设置为1
,但奇怪的是emailVerified
字段也已更新。现在两个字段都保存了值:1
。
我不知道这是怎么回事。我搜索了互联网,但找不到类似的问题。我做错了什么?
更新:
这是mySQL日志。我发现了这个问题。 Phalcon查询构建器为emailVerified
创建的值包含在单引号中。所以它是一个字符串,字段类型是bit
。
111 Query
UPDATE `users` SET `fname` = 'user_fname', `lname` = 'user_lname', `email` = 'user_email', `emailVerified` = '0', `suspended` = 1 WHERE `id` = '3'
111 Quit
答案 0 :(得分:1)
答案 1 :(得分:1)
我前一段时间也遇到过这个问题。 Phalcon似乎不支持import android.content.Context;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
/**
* Created by James Singleton on 8/15/2016.
*/
public class AuthPreferences {
private static final String KEY_USER = "user";
private static final String KEY_TOKEN = "token";
private SharedPreferences preferences;
public AuthPreferences(Context context) {
preferences = context
.getSharedPreferences("auth", Context.MODE_PRIVATE);
}
public void setUser(String user) {
Editor editor = preferences.edit();
editor.putString(KEY_USER, user);
editor.commit();
}
public void setToken(String password) {
Editor editor = preferences.edit();
editor.putString(KEY_TOKEN, password);
editor.commit();
}
public String getUser() {
return preferences.getString(KEY_USER, null);
}
public String getToken() {
return preferences.getString(KEY_TOKEN, null);
}
}
列。您应该使用bit
代替。
我还找到了closed issue'确认'这个。