如何将数组传递给学说查询 findBy?

在我有如下过滤器参数之前:


width: 195

diameter: 15

load: 91

所以,我只是使用以下查询来检索结果。


$list = $this->entityManager->getRepository(List::class)->findBy($filterArray);

现在,我的要求改变了。我可以传递逗号分隔的字符串


width: 195,245

diameter: 15

load: 91

所以,首先我将这个字符串转换成数组:


[

  "width" => [

    0 => "195"

    1 => "245"

  ]

  "diameter" => [

    0 => "15"

  ]

  "load" => [

    0 => "91"

  ]

]

现在我不确定如何进行查询。过滤器参数可以变化。没有必要传递所有参数。


大话西游666
浏览 98回答 1
1回答

烙印99

使用findBy函数,您可以使用数组参数进行过滤。例如,如果您需要查找实体,width: 195,245您可以像这样传递数据['width' => [195, 245]]要删除空参数,您可以使用array_filter函数$list = $this->entityManager->getRepository(List::class)->findBy(array_filter($filterArray));稍后如果你的参数会增长,你可以使用 Doctrine QB 来过滤你的数据
打开App,查看更多内容
随时随地看视频慕课网APP