0

我需要INSERT数据table,但在查询之前我必须知道MAX列中的值position,而不是INSERT数据 WHERE my SELECTED 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 回答