再发一些rails和数据库有意思的问题和意见

1. 数据库查询

 

    people = Person.find(:all, :joins => "INNER JOIN accounts ON people .id = accounts.person_id",

               :conditions => "people .gender = 'male' AND accounts.number < 10",

               :select => "*")

 

    有啥问题?

 

    如果people表和accounts表有一个相同name的column,取得的people需要reload一下才能用,不然使用时取不到那个字段的值。这是由于查询时的 ambiguous field问题引起的。

 

    如何解决?

 

    people = Person.find(:all, :joins => "INNER JOIN accounts ON people.id = accounts.person_id",

               :conditions => "people.gender = 'male' AND accounts.number < 10",

               :select => "people. *")

 

2. 关联表

 

    项目开发到后期,往往会发现关联表因为汇聚越来越多的有用信息,需要实现成model。所以项目刚开始就给关联表加上id吧。

 

 

你可能感兴趣的:(mysql,Rails)