Reputation: 953
How can i get First rows of createdAt for each username?
for example: backend looks like this
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
So i want the query will take all rows and skip name1 which is createdAt 2015-08-20 last one because this old row i just want new createdAt rows only for each user.
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)
I've tried this query but it will take old createdAt and i just want new createdAt for each user , And yes i have set limit to = 1
, but it will show last record not for each user! It just show one result.
Upvotes: 1
Views: 873
Reputation: 3040
So each 20 minutes from now I ask to give the recent object, so if you want query images after 50 minutes or more just change the value for timestamp.
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!)
})
}
}
}
}
Second Option : To get the last object from parse use **getFirstObject method
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)
}
}
}
Upvotes: 1