如何为每个用户名获取第一行createdAt?
例如:backend看起来像这样
objectId- username - photo - createdAt
5135Aer - name1 - image - 2015-08-21
R35AAA - name6 - image - 2015-08-21
G7356W - name3 - image - 2015-08-20
E355B - name1 - image - 2015-08-20
所以我希望查询将占用所有行并跳过在2015-08-20最后一个创建的name1因为这个旧行我只想为每个用户创建新的createdAt行。
let query = PFQuery(className: "test")
query.whereKey("receivers", equalTo: PFUser.currentUser()!.username!)
query.orderByDescending("createdAt")
query.findObjectsInBackgroundWithBlock {
(objects, error) -> Void in
if error == nil {
self.createdAtArray = objects!
print(objects!.count)
我已尝试过这个查询,但它会占用旧的createdAt,我只想为每个用户创建新的createdAt,是的,我已设置limit to = 1
,但它会显示不是每个用户的最后一条记录!它只显示一个结果。
答案 0 :(得分:1)
因此,从现在开始每20分钟,我会要求提供最近的对象,因此如果您想在50分钟或更长时间后查询图像,只需更改时间戳的值。
let query = PFQuery(className: "test")
query.whereKey("receivers", equalTo: PFUser.currentUser()!.username!)
query.orderByDescending("createdAt")
var timeStamp = NSDate(timeIntervalSinceNow: -1200)
query.whereKey("createdAt", greaterThanOrEqualTo: timeStamp)
query.findObjectsInBackgroundWithBlock { (objects:[AnyObject]?, error:NSError?) -> Void in
if error == nil
{
if let objects = objects as? [PFObject]
{
for one in objects
{
var Getimage = one["image"] as! PFFile
Getimage.getDataInBackgroundWithBlock({ (data:NSData?, error:NSError?) -> Void in
var image = UIImage(data: data!)
// you have the image now
createdAtArray.addObject(image!)
})
}
}
}
}
第二个选项:要从解析中获取最后一个对象** getFirstObject方法
func secondQuery(arraydetails:NSMutableArray){
var query = PFQuery(className: "")
query.orderByDescending("createdAt")
query.limit = 1
query.getFirstObjectInBackgroundWithBlock { (object:PFObject?, error:NSError?) -> Void in
if error == nil
{
var detail = object?.objectForKey("text") as! String
arraydetails.addObject(detail)
}
}
}