2014-08-31 4 views
0

내가 Laravel DB는 DB에서 특정 데이터를 반환를 선택 :: 사용Laravel 4 : 사용자 선택 쿼리

문제는 하나 개의 행만 반환 될 때 사용 인 print_r ($ 결과)

$questions = DB::select(' 
      select text 
      from question 
      where id in (?) 
      order by field(id,?)', 
      array($question_ids_list_str,$question_ids_list_str)); 


    print_r($questions); 

나머지 결과를 반환하는 방법? 감사,

+0

. 이 메소드는 각 행을 나타내는 stdObject 배열을 리턴합니다. Btw 왜 쿼리 빌더 대신 이것을 사용합니까? 사용하기가 더 쉽습니다. –

+0

'$ question_ids_list_str'에 무엇이 포함되어 있는지 확인해야합니다. 하나의 ID 또는 하나의 기존 ID가 데이터베이스에 포함되어있는 경우 select는 더 많은 행을 반환하지 않습니다. –

+0

@ MarcinNabiałek $ question_ids_list_str에 ID 목록이 포함되어 있습니다. – mwafi

답변

0

이 시도가 :

$questions = DB::select(' 
     select text 
     from question 
     where id in (?) 
     order by field(id,?)', 
     array($question_ids_list_str,$question_ids_list_str)); 
foreach($questions as $question) { 
    echo $question; 
} 
2

이 같은 것을 시도 할 수 있습니다 : results`의 더`나머지는 분명히 없다

$ids = array(1, 2, 3); // Pass the ids in whereIn clause 
$questions = DB::table('question') 
       ->whereIn('id', $ids) 
       ->orderBy('id') 
       ->get(array('text')); // Only get text field 
+0

이것은 잘 동작하지만, DB :: select의 잘못된 점은 무엇입니까? :: => (field (id, '. implode (', ', $ ids).') ')) 강제로 1 행만 검색 할 수 있습니까? – mwafi