对于我正在进行的项目,我正在使用Eloquent ORM独立版本,如本页所述.一切都运行正常,除了我不能在我的代码中使用DB :: raw.我收到以下PHP错误:
Fatal error: Class 'DB' not found
Run Code Online (Sandbox Code Playgroud)
这是正确的,因为我只使用Laravel框架中的Eloquent,而不是Laravel本身.是否可以使用类似DB :: raw的东西,以便我可以使用特定的SQL代码?例如where(DB::raw('YEAR(DateField)'),2013)
tri*_*izz 11
那么,寻找一个解决方案多年,在SO上问它,并在互联网上的其他地方找到答案.
Model::whereRaw('YEAR(DateField) = 2013') 会做的.
编辑:如果要DB::raw在任何其他部分中使用(例如,在中select,您可以使用以下内容:
use Illuminate\Database\Query\Expression as raw;
// You can now use "new raw()" instead of DB::raw. For example:
$yourVar = YourModel::select(new raw("count(FieldA) AS FieldACount"),'FieldB')->groupBy('FieldB')->lists(new raw('FieldACount'),'FieldB');
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3487 次 |
| 最近记录: |