【发布时间】:2017-02-16 06:13:14
【问题描述】:
我会使用 Laravel 5 Query Builder 在查询中进行 SUM。
return DB::table('table1')->join('table2','table1.id','=','table2.id')
->where('table1.user_id','=',$userId)
->whereMonth('table2.date', '=', $month )
->whereYear('table2.date', '=', $year )->select('table2.*', DB::raw('SUM(table1.count) AS count_single'))->groupby('table2.id')->get();
但我的问题是我有一个前缀表 (xc_),并且 DB::raw 返回错误
"Column not found: 1054 Unknown column 'table1.count' "
这是前缀表的问题,因为如果我放:
$table_prefix = env('DB_TABLE_PREFIX', 'xc_');
DB::raw('SUM('.$table_prefix.'table1.count) AS count_single')
它工作,所以问题是前缀,但我不喜欢这种方法,所以: 有没有不指定前缀表使用 DB::Raw 的方法?
【问题讨论】:
-
该表前缀是否适用于所有表?
-
如果您的数据库中的所有表都有前缀 then.. Check this link it can help you
-
是的,所有表都有前缀,我已经在database.php中设置了正确的前缀
标签: php laravel laravel-5 laravel-query-builder