我想在Rails中运行下一个代码:
boatData = Boat.find_by_sql(["SELECT bm.name as name1, bt.name as name2
FROM boat_models bm, boat_types bt, boats b
WHERE b.id = ?
AND bm.id = b.boat_model_id
AND bt.id = bm.boat_type_id", boatId]).first
puts "boatData=" + boatData.inspect
description = "Booking: " + boatData[:name1] + "(" + boatData[:name2].to_s + ")"
唯一的问题是select中的字段具有相同的名称。当我尝试添加" as"结果不对。
更新
这就是puts" boatData ="的输出。 + boatData.inspect
boatData=#<BoatModel id: nil, name: "Velero">
答案 0 :(得分:1)
我可能非常错误,但看起来您只想选择一个Boat
,然后获取该船的型号和类型名称。
如果我正确理解您的数据模型,您可以使用:
boat = Boat.find(boatId)
modelName = boat.boat_model.name
typeName = boat.boat_model.boat_type.name