php - 我应该如何预言排序方法?
问题描述
我正在使用DoctrineMongoDBBundle,但我不确定如何预测排序方法。
$qb = $dm->createQueryBuilder('Article')
->sort('createdAt', 'desc');
我的代码是:
UserRepository - 方法全部
public function all(array $input = null)
{
$user = UserEntity::class;
$all = $this->dm->createQueryBuilder($user);
$search = $all->sort(['name' => 'asc'])
->getQuery();
return $search;
}
UserRepositoryTest - 预言
public function testSortingResults()
{
$output = [
'name' => 'John',
'email' => 'john@email.com',
'phone' => '89564789547',
];
$document = $this->prophesize(DocumentManager::class);
$queryBuilder = $this->prophesize(QueryBuilder::class);
$queryBuilder->sort()->willReturn($output)->shouldBeCalled();
$queryBuilder->getQuery()->willReturn($output)->shouldBeCalled();
$document->createQueryBuilder(UsuarioEntidade::class)->willReturn($queryBuilder)->shouldBeCalled();
$repository = new UserRepository($document->reveal());
$all = $repository->all();
$this->assertNotNull($all);
$this->assertEquals($output, $all);
}
错误总是这样
Prophecy\Exception\Doubler\MethodNotFoundException:方法
Double\Doctrine\ORM\QueryBuilder\P2::sort()
未定义。
我不明白如何测试 SORT,因为在 QueryBuilder 中找不到它。
解决方案
推荐阅读
- java - 带有运动的 JavaFx Webview
- google-slides - Google 幻灯片在不退出演示模式的情况下刷新
- react-native - React Navigation - StackNavigator 内场景的初始渲染高度或位置错误
- typescript - 打字稿:防止使用具有未定义值的接口作为右侧值
- python - 如何创建循环?
- go - 如何使用 minio-go api 从 s3 存储桶中获取按上次修改时间戳排序的对象列表?
- hadoop - java.lang.RuntimeException:运行命令以获取文件权限时出错:ExitCodeException exitCode=-1073741515
- python - 如何正确格式化全宽 unicode 字符串
- java - 使用 Mockito 测试 Spring 环境配置文件
- selenium - Python Selenium Remote Webdriver(Chrome Webdriver via Selenium Grid),创建但不打开浏览器