2017-12-07 38 views
1

반환 emtpy 결과 심포니를 선택 DQL, 그것은 심포니 3. 여기에있는 건물의 API REST는 URL의 샘플가요내가 키워드를 포함 DB를 모든 비디오를 얻으려고 3

http://localhost/Server/symfony/web/app_dev.php/video/search/prueba 

경우 "prueba는"결과는 4 개 비디오와 JSON해야

public function searchAction(Request $request, $search = null){ 
    $helper = $this->get("app.helper"); 
    $em = $this->getDoctrine()->getManager(); 
    if($search != null){ 
     $dql = "SELECT v.title FROM BackendBundle:Video v " 
       . "WHERE v.title LIKE :search OR " 
       . "v.description LIKE :search ORDER BY v.id DESC"; 

     $query = $em->createQuery($dql) 
       ->setParameter("search", "%search%"); 
    } else { 
     $dql = "SELECT v FROM BackendBundle:Video v ORDER BY v.id DESC"; 
     $query = $em->createQuery($dql); 
    } 
    $page = $request->query->getInt("page", 1); 
    $paginator = $this->get("knp_paginator"); 
    $items_per_page = 6; 
    $pagination = $paginator->paginate($query, $page, $items_per_page); 

    $total_items_count = $pagination->getTotalItemCount(); 
    $data = array(
     "status" => "success", 
     "total_items_count" => $total_items_count, 
     "page_actual" => $page, 
     "items_per_page" => $items_per_page, 
     "total_pages" => ceil($total_items_count/$items_per_page), 
     "data" => $pagination 
    ); 
    return $helper->toJson($data); 
} 

내가 여기

이 기능을 찾을려고 키워드 ..입니다 ..하지만 난

를 얻을 수 "데이터는"비디오 데이터

누군가가 내가 그리워 무엇인지와 배열입니다

{ 
    "status": "success", 
    "total_items_count": 0, 
    "page_actual": 1, 
    "items_per_page": 6, 
    "total_pages": 0, 
    "data": [] 
} 

? dql은 .. 조언하는거야?

누군가 실수가 무엇인지 말할 수 있습니까? 단서가 필요해 .Dql 문의가 맞습니까?

감사합니다.

+0

안녕하세요. 동영상 엔터티의 모든 데이터를 선택하려고 할 수 있습니다. 어쨌든 템플릿에 템플릿이 필요합니다. $ dql = "SELECT v FREND BackendBundle : Video v" . "v.title LIKE : 검색 OR" . "v.description LIKE : 검색 ORDER BY v.id DESC"; – MatMouth

+0

나는 그것을 시도 ..하지만 빈 배열을 반환 .. 너무 extrange .. 나는 무엇이 문제인지 모르겠다. – eflores

답변

0

재생 해 주셔서 감사합니다.

그게 전부는 probllem

$query = $em->createQuery($dql) 
      ->setParameter("search", "%search%"); <-- here 

는 정말 감사했습니다 ..

그래서 .. 나는 .. 입력하는 동안 실수를 내가 검색 단어 앞에 $ 서명 잊었다!

0

나는 knp_paginator 서비스를 사용하는 것을 본다. paginator에서 다음과 같이 항목을 가져 오십시오.

$data = array(
    "status" => "success", 
    "total_items_count" => $total_items_count, 
    "page_actual" => $page, 
    "items_per_page" => $items_per_page, 
    "total_pages" => ceil($total_items_count/$items_per_page), 
    "data" => $pagination->getItems() 
); 
+0

어떤 이유로 쿼리 결과에 데이터가 .. Logged – eflores