在我有如下過濾器參數(shù)之前:width: 195diameter: 15load: 91所以,我只是使用以下查詢來檢索結(jié)果。$list = $this->entityManager->getRepository(List::class)->findBy($filterArray);現(xiàn)在,我的要求改變了。我可以傳遞逗號分隔的字符串width: 195,245diameter: 15load: 91所以,首先我將這個字符串轉(zhuǎn)換成數(shù)組:[ "width" => [ 0 => "195" 1 => "245" ] "diameter" => [ 0 => "15" ] "load" => [ 0 => "91" ]]現(xiàn)在我不確定如何進(jìn)行查詢。過濾器參數(shù)可以變化。沒有必要傳遞所有參數(shù)。
1 回答

烙印99
TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超13個贊
使用findBy
函數(shù),您可以使用數(shù)組參數(shù)進(jìn)行過濾。例如,如果您需要查找實(shí)體,width: 195,245
您可以像這樣傳遞數(shù)據(jù)
['width' => [195, 245]]
要刪除空參數(shù),您可以使用array_filter
函數(shù)
$list = $this->entityManager->getRepository(List::class)->findBy(array_filter($filterArray));
稍后如果你的參數(shù)會增長,你可以使用 Doctrine QB 來過濾你的數(shù)據(jù)
- 1 回答
- 0 關(guān)注
- 137 瀏覽
添加回答
舉報(bào)
0/150
提交
取消