Problem with destroying multiple records


#1

Hi ,

i am facing problem while i am writing code
e.g.

People.find_by_id(params[:id])
comment.find_by_id(params[:id])

when this execute it will delete only one record from the database which
it get first. It will keep other records same.Is there any alternative
to delete all records based this method.

i tried with people=People.find(:all, :conditions=>[“id=?”,params[:id]])
but result is same.

please help…


#2

On Dec 3, 1:20 pm, Dharmdip R. removed_email_address@domain.invalid
wrote:

to delete all records based this method.

i tried with people=People.find(:all, :conditions=>[“id=?”,params[:id]])
but result is same.

This doesn’t really make sense to me. There is only one record for a
given value of the id column (or rather rails assumes that id is your
primary key) so what were you expecting?

Fred


#3

Frederick C. wrote:

On Dec 3, 1:20�pm, Dharmdip R. removed_email_address@domain.invalid
wrote:

to delete all records based this method.

i tried with people=People.find(:all, :conditions=>[“id=?”,params[:id]])
but result is same.

This doesn’t really make sense to me. There is only one record for a
given value of the id column (or rather rails assumes that id is your
primary key) so what were you expecting?

Fred

I want all records base on query which i have written in
people=People.find(:all, :conditions=>[“id=?”,params[:id]])
i am getting only one record not all records …


#4

Frederick C. wrote:

On Dec 4, 4:00�am, Dharmdip R. removed_email_address@domain.invalid
wrote:

primary key) so what were you expecting?

Fred

I want all records base on query which i have written in
people=People.find(:all, :conditions=>[“id=?”,params[:id]])
i am getting only one record not all records …

There is only ever one such record because the primary key is unique
(by definition).

Fred

k


#5

On Dec 4, 4:00 am, Dharmdip R. removed_email_address@domain.invalid
wrote:

primary key) so what were you expecting?

Fred

I want all records base on query which i have written in
people=People.find(:all, :conditions=>[“id=?”,params[:id]])
i am getting only one record not all records …

There is only ever one such record because the primary key is unique
(by definition).

Fred


#6

Thx,


#7

On Thu, Dec 4, 2008 at 6:00 AM, Dharmdip R. <
removed_email_address@domain.invalid> wrote:

given value of the id column (or rather rails assumes that id is your
primary key) so what were you expecting?

Fred

I want all records base on query which i have written in
people=People.find(:all, :conditions=>[“id=?”,params[:id]])
i am getting only one record not all records …

I think this is not the real query you are having. you just chose a
wrong
example

Assuming what u really want is to semulate
people=People.find(:all,
:conditions=>[“country_id=?”,params[:country_id]])
where country_id is a foreign key to something else

People.find_by_country_id(params[:country_id]) will retrieve only the
first record matching the condition.

you should use People.find_all_by_country_id(params[:country_id]) to
get
all matching results.

hope it helps


Mahmoud Said
Software Developer
blog.modsaid.com
www.eSpace.com.eg