As for the search from your question it’s not clear where and how the search will be performed… as the user of your application can be in the leaves section and then make the search or in the company section and then make the search
I wouldn’t create a separate module for each entity, especially when they all are related, it only makes things complicated (imho). For search you need a widget and a controller. SearchModel is also a good idea if you have many search form fields and want to apply some validation rules.
Yes I have 6 to 7 Search Criteria, and because of that i have create diff controller, view and model for the Search. In the Search Model I m doing join… and achieve the Results. Now I have Different Issue. Please Help me on this also. As I have to finish this module ASAP.