it-swarm-ko.tech

뷰의 SQL 쿼리를 바꾸려면 어떻게해야합니까?

뷰의 SQL 쿼리를 재정의해야합니다. Drupal 7 및 Views 3.x-7.x-alpha1을 사용하고 있습니다.

Views_pre_execute를 사용하여 자체 쿼리를 작성할 수 있음을 이해했습니다. 여기에 언급 된 지침을 따르십시오 : http://blog.raisedeyebrow.com/2010/04/rewrite-a-views-query/ .

이 코드를 사용자 정의 모듈에 추가했습니다.

function alterquery_views_pre_execute(&$view) {
  dsm($view);
}

지침에 따라 $view->build_info['query'] 값을 찾을 때 유형이 SelectQuery 클래스의 객체임을 알 수 있습니다.

쿼리를 완전히 제어하고 자체 select 문을 사용하려면 어떻게해야합니까?
hook_views_query_alter()을 사용하면 키 배열을 수정할 수 있지만 select 문을 처음부터 작성하려고합니다.

4
jjei

글쎄, 자체 SelectQuery 객체를 만들고 기존 객체를 대체하는 데 방해가되는 것은 없습니다. 쿼리 플러그인을 재정의하는 것도 옵션입니다. 이 경우 전체 쿼리를 교체하려는 이유를 아는 것이 가장 좋습니다. 나에게는 거의 이해가되지 않습니다.

또한 alpha1을 사용하고 있습니까? 왜? 그 코드는 4 개월 반이되었습니다. 다른 것을 시도하기 전에 -dev로 업데이트하십시오.

4
Bojan Zivanovic

자체 뷰 클래스를 만들면 execute () 메서드를 재정 의하여 원하는대로 할 수 있습니다. apachesolr_views 또는 sparql_views 모듈을 보면 어떻게 작동하는지 확인할 수 있습니다. 뷰는 SQL을 사용하지 않습니다.

3
Jeremy French

쿼리 자체를 변경하기 위해 hook_views_query_alter를 구현할 수없는 이유는 무엇입니까?

http://drupalcontrib.org/api/drupal/contributions--views--docs--views.api.php/function/hook_views_query_alter/7

1
Chris Cohen