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

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