this method returned record database.
def wall_record(ref_id,followers_record,pid,sd_pid) @wp_rec=wallpost.select('wp.id pid,wp.*,wi.id iid,wi.imagename,wv.videourl,u.firstname,u.username') @wp_rec=@wp_rec.where('wp.id > ? ', pid) if pid.present? # pid->postid @wp_rec=@wp_rec.where('wp.id < ? ', sd_pid) if sd_pid.present? # sd_pid -> scroll down @wp_rec=@wp_rec.where('wp.posted_by in (?) ', followers_record) if followers_record.present? @wp_rec=@wp_rec.joins('wp inner join `epoker_wallimages` wi on wi.wallpost_id = wp.id') @wp_rec=@wp_rec.joins('inner join `epoker_users` u on u.id = wp.user_id') @wp_rec=@wp_rec.joins('inner join `epoker_wallvideos` wv on wv.wallpost_id = wp.id') @wp_rec=@wp_rec.order('wp.id desc') if followers_record.present? @wp_rec=@wp_rec.limit(5) #if followers_record.present? end now want add mysql query -> where((wp.posted_by != 100000 , post_status = 1) or (wp.posted_by = 10000 , post_status in (1,2)))
how can please?
it easy =)
just include condition want quotes:
where("(wp.posted_by != 100000 , post_status = 1) or (wp.posted_by = 10000 , post_status in (1,2))") you can pass inside quotes param want
where("(wp.posted_by != 100000 , post_status = #{post_status}) or (wp.posted_by = #{posted_by} , post_status in (#{post_statuses_array.join(',')}))") and finally, can make more rails-like approach
where("(wp.posted_by ? != , post_status = ?) or (wp.posted_by = ? , post_status in (?))",100000, 1, 10000, [1,2]) instead of wp model have pass real table name! (but far can see table name.. not convenient, way)
Comments
Post a Comment