我正在努力使用 ruby 的 mysql gem 并准备语句。
我希望得到与对结果相同each_hash
的结果,但在准备语句中也不支持它。所以我带着这个可怕的烂摊子来了。
stmt = @db.prepare("SELECT mat_id, name, qty FROM materials WHERE mat_id = ? ")
#those 3 lines hurt my eyes
res = stmt.execute(params[:id])
mat_id, name, qty = res.bind_result(Integer, String, Integer).fetch
@material = [mat_id: mat_id, name: name, qty: qty]
必须有更好的方法来获取结果并获取哈希数组。
一个更好的 mysql gem 可能是一个有效的答案。ORM 不是。