symfony: [Finder] Duplicated results when used two times
Hello,
When i run the code below, on the second search, the results are duplicated.
$finder = new Finder();
$first_results = $finder->in('/my/path')->files()->name('/my_pattern/');
// [...] some code
$second_results = $finder->in('/my/path')->files()->name('/another_pattern/');
But if i run that code, it works as intended :
$finder = new Finder();
$first_results = $finder->in('/my/path')->files()->name('/my_pattern/');
// [...] some code
$finder = new Finder();
$second_results = $finder->in('/my/path')->files()->name('/another_pattern/');
About this issue
- Original URL
- State: closed
- Created 11 years ago
- Reactions: 2
- Comments: 21 (14 by maintainers)
Commits related to this issue
- Update finder.rst https://github.com/symfony/symfony/issues/8871#issuecomment-195804471 — committed to flip111/symfony-docs by flip111 7 years ago
- minor #8484 Update finder.rst (flip111, javiereguiluz) This PR was merged into the 2.7 branch. Discussion ---------- Update finder.rst https://github.com/symfony/symfony/issues/8871#issuecomment-1... — committed to symfony/symfony-docs by xabbuh 7 years ago
Sorry for the old post, but what about providing some kind of a “reset” method on the finder instance, that would reset only the memorized path(s) ? This would allow to keep the same research criteria, but for a search in another directory.
Sorry for the old post, but providing a “reset” method would be useful here.
Edit:
Finder::create()
returns a new instance, this will do 😃It’s not the same.
create
return a really new finder. You may want to add some initial filter, get all matching files, reset it, then get others file.@javiereguiluz The issue with
create()
is that it creates a completely new instance (i.e. dropping all the configuration you did before). As far as I understood comments users seem to want to reuse an instance and only do some “finetuning” before getting the next results.What about the comment from @J7mbo above?
So we don’t need to add a
reset()
method, right?A
reset()
method looks like something that could be added without pain.@symfony/deciders What do you think?
@lyrixx This is exactly what I wrote 😉 Closing as there is no good solution without BC breaks.