나는 데이터베이스 과정에 있으며 강사는 전자 상거래 앱을 개발하기를 원합니다. 그녀는 우리가 좋아하는 어떤 프레임 워크라도 사용할 수 있다고 말했고, 이제는 학기 중반기에 Rails가 너무 많이하고 내 SQL 쿼리를 명시 적으로 작성하기를 원합니다.레일 맞춤형 모델 기능
그래서 내가하고 싶은 것은 내 자신의 함수를 작성하여 모델에 추가하여 본질적으로 이미 존재하는 기능을 복제하는 것입니다 (그러나 직접 작성한 SQL을 사용하여).
그래서 질문은 다음이 될 :
- 을 어떻게 모델 내에서 수동으로 만든 쿼리를 실행합니까?
- 결과를 비어있는 객체에 채워 넣고 뷰 내부에서 돌아와서 사용할 수 있습니까?
또한 끔찍한 연습이 무엇인지 알고 있습니다. 나는이 시점에서 PHP에서 처음부터 시작하고 싶지 않습니다.
죄송하지만 거의 모든 단일 프레임 워크에는 요즘 ORM이 있습니다. 예를 들어 Doctrine을 살펴보십시오. ActiveRecord는 SQL 숨기기에도 도움이되지 않습니다 - 조건/그룹/조인 옵션의 일부로 SQL을 작성할 수 있습니다. –
ActiveRecord는 ** SQL을 숨기기 위해 ** 시도하지 않습니다. 레일즈의 창시자 인 데이비드 하인 마이어 한슨 (David Heinemeier Hansson)이 [레일즈 애자일 웹 개발 (Agile Web Development with Rails)] 책 (315 쪽) (http://event2011.googlecode.com/files/Agile_Web.pdf) : "[Active Record]는 사소한 경우에 SQL이 더럽지도 나쁘지도 않다는 개념에 기반을두고 있으며, 사소한 경우에 자세한 정보를 처리 할 필요성을 없애는 데 중점을 둡니다. 수동으로 삽입하면 프로그래머가 지쳐 가지 만 하드 쿼리에 대한 표현력을 유지할 수 있습니다. 유형 SQL은 우아하게 처리하기 위해 만들어졌습니다. " –