0

INSERTのデータが必要ですtableが、クエリの前に、データ WHERE myよりもMAXcolumn からの値を知る必要があります。クエリビルダーで可能ですか?positionINSERTSELECTED before position+1

最初のコメントに続いて、クエリを実行しました:

$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

更新

$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');
4

1 に答える 1

1

全体的なソリューションは次のようになります。

  1. DB::select(array(DB::expr('MAX(position)'), 'p'))
  2. 値を取得するには、get('p')または$result->p
于 2012-09-10T03:46:06.480 に答える