2012-09-10 4 views
0

INSERT 데이터를 table에 입력해야하지만 쿼리 전에 입력란 position에서 MAX 값을 알아야합니다. INSERT 데이터보다 내 SELECTED before position+1입니다. 쿼리 작성기로 가능합니까?Kohana 프레임 워크의 Query Builder에서 열의 MAX 값을 선택하는 방법은 무엇입니까?

$p = DB::select(array(DB::expr('MAX(`position`)', 'p')))->from('supercategories')->execute(); 

echo $p; 

오류 :

ErrorException [ Notice ]: Undefined offset: 1 

MODPATH\database\classes\kohana\database.php [ 505 ] 

500  */ 
501  public function quote_column($column) 
502  { 
503   if (is_array($column)) 
504   { 
505    list($column, $alias) = $column; 
506   } 
507 
508   if ($column instanceof Database_Query) 
509   { 
510    // Create a sub-query 

UPD가

$p = DB::select(array(DB::expr('MAX(position)'), 'p'))->from('supercategories')->execute(); 

내가 이것을 사용

내 첫 코멘트를 다음 나는 쿼리했다. 그러나 결과를 얻는 방법?

전체 솔루션의 모습

$p = DB::select(array(DB::expr('MAX(position)'), 'p'))->from('supercategories')->execute()->get('p'); 
+0

'검색하려면 - (> 선택을 배열 (DB :: expr ('MAX (c olumn_name) ','alias ')))' – zerkms

+0

내가 말했듯이, 내가 맞습니까? –

+0

"select (array (DB :: expr ('MAX ('position')'), 'p'))"--- 죄송합니다. 지금 해봐? – zerkms

답변

1

솔루션 :

  1. DB::select(array(DB::expr('MAX(position)'), 'p'))
  2. 이 값을 사용 get('p') 또는이 $result->p