我在下面有一个从数据库中检索组的查询;它工作正常,除了当我运行它通过害虫php测试用例,并击中控制器;测试失败并显示Illuminate\Database\QueryException: SQLSTATE[HY000]: General error: 1 no such function: YEAR
下面是我的sql查询
Group::query()
->selectRaw("YEAR(groups.created_at) as year,
MONTH(groups.created_at) as month,
DATE_FORMAT(groups.created_at, '%b') as short_month_format,
count('*') as count"
)
->whereIn('id', $ids)
->get();
下面是我的pest php测试用例
test('authenticated user with permission will see analytics page ',function(){
$permission = 'permission';
actingWithPermission($this->user, $permission)
->get($this->route)
->assertStatus(302)
->assertDontSee("Text not to see goes here", false)
;
});
我怎样才能修复以上的mysql错误?
2条答案
按热度按时间bvn4nwqk1#
计数('id ')错误,请使用计数('id')或其他字段。
w6mmgewl2#
通过将
phpunit.xml
中的DB CONNECTION
从sqlite
更改为mysql
,我能够解决上述问题。在我的phpunit.xml中