У меня есть следующий метод, который отлично работает.Тем не менее, я думаю, что это некрасиво.Я из мира PHP и только изучаю Ruby.Есть ли лучший способ написать этот метод?
def _get_tasks(project_id)
_tasks = $dbh.select_all("SELECT * FROM tasks WHERE project_id=? ORDER BY name ASC;",project_id)
tasks = []
_tasks.each do |t|
_t = t.to_h
_t[:log] = $dbh.select_all("SELECT * FROM log WHERE task_id=? ORDER BY start DESC;",t[:task_id])
tasks.push _t
end
return tasks
end
Моя первоначальная мысль (и надежда) была бы следующей, но это неправильно, потому что, очевидно, элементы массива задач на самом деле не являются хешами, а DBI: Рядные объекты.Есть указатели?
def _get_tasks(project_id)
tasks = $dbh.select_all("SELECT * FROM tasks WHERE project_id=? ORDER BY name ASC;",project_id)
tasks.each do |t|
t[:log] = $dbh.select_all("SELECT * FROM log WHERE task_id=? ORDER BY start DESC;",t[:task_id])
end
return tasks
end