DB :: raw()始终使用默认数据库

I've been searching for a while for a solution here but no luck. I have a model named Currency which extends eloquent.

class Currency extends Eloquent {

   protected $connection = 'currency';
   protected $table = 'dbo.sfCXDetail';
   public $timestamps = false;


    public function monthlyTransactions(){
        return Currency::select(array(DB::raw('COUNT(trx_number) AS Transactions'), DB::raw('MONTH(update_stamp) as TransactionsMonth')))
                                ->whereBetween(DB::raw('DATEPART(YYYY, update_stamp)'), array(2012,2012))
                                ->groupBy(DB::raw('YEAR(update_stamp)'))
                                ->groupBy(DB::raw('MONTH(update_stamp)'))
                                ->orderBy(DB::raw('YEAR(update_stamp)'))
                                ->orderBy(DB::raw('MONTH(update_stamp)'))
                                ->get();
    }

} 

The problem is, DB::raw uses the default database inside the database config file, so when I try using:

Currency::raw()

I get an error strtolower() expects parameter 1 to be string, object given

The database I'm using can't be used as the default database. How do I use the DB::raw method with the current database in use inside the model?

This query works without error when I set the default database to 'currency', but not if I set it to use my local default mysql database.

This is in my DB config file:

'currency' => array(
        'driver'   => 'sqlsrv',
        'host'     => 'xx',
        'database' => 'xx',
        'username' => 'xx',
        'password' => 'xx',
        'prefix'   => '',
    ),

I could be wrong but I believe that setting the connection property as a protected property of Currency would not also set connection for the DB class.

would something like this work (I am at work at not able to test, sorry):

$db = new DB;
$db->connection = 'currency'
$db->table = 'dbo.sfCXDetail';
...
 return Currency::select(array($db->raw('COUNT(trx_number) ...
...

I think it's a scope thing

You can try something like this:

DB::connection('specialConnection')->raw(...);

Also, you have to add another config settings for that connection like:

'currency' => array(
    'driver'   => 'sqlsrv',
    'host'     => 'xx',
    'database' => 'xx',
    'username' => 'xx',
    'password' => 'xx',
    'prefix'   => '',
),
'specialConnection' => array(
    'driver'   => 'mySql',
    'host'     => 'xxx',
    'database' => 'xxx',
    'username' => 'xxx',
    'password' => 'xxx',
    'prefix'   => '',
)