2011-01-11 9 views
0

私はこのウェブサイトを数ヶ月間構築しています。私はKohana 3に乗っています。私はこのK2.4クエリービルダーをK3クエリービルダーに変換したいと思います。このQuery BuilderをKohana 2.4からKohana 3に変更するにはどうすればよいですか?

return DB::select(array('posts.id', 'posts.created', 'posts.uri', 'posts.price', 'posts.description', 'posts.title', 
       'image_count' => db::expr('COUNT(images.id)'))) 
     ->from('posts') 
     ->join('images')->on('images.post_id', '=', 'posts.id') 
     ->group_by(array('posts.id')) 
     ->order_by('posts.id', 'DESC') 
     ->limit($limit) 
     ->offset($offset) 
     ->execute(); 

答えて

1

あなたが作る必要がある唯一の変化は、()を選択:: DBから周囲の配列をドロップし、エイリアスフィールドに、Kohana3内のクエリビルダーは、任意の数を受け入れる配列

を使用しています議論の、http://kohanaframework.org/guide/database/query/builder

return DB::select('posts.id', 'posts.created', 'posts.uri', 
      'posts.price', 'posts.description', 'posts.title', 
      array('COUNT("images.id")', 'image_count')) 
    ->from('posts') 
    ->join('images')->on('images.post_id', '=', 'posts.id') 
    ->group_by(array('posts.id')) 
    ->order_by('posts.id', 'DESC') 
    ->limit($limit) 
    ->offset($offset) 
    ->execute(); 
+0

私は実際にそれを1時間前に得ました。 –

+0

hehe、私は1時間前までqを見ていませんでした – SpadXIII

+0

さらに、 'array( 'COUNT(" images.id ")'、 'image_count ') 'を実行して、列が適切にエスケープされるようにします。 – shadowhand

関連する問題