I'd have loved to understand whether it was smart to return a choose object from the method like '$selectObj = getSomethingByName($title)' to then pass it to a different method like 'getResult($selectObj)' that will have the desired effect. The concept would be to have the ability to pass the choose resist any helpfull function like 'setLimit(10)' or addCriteria('blabla') based on my model...

But could it be smart to do that ? it may be 'unsecure' because user will have the ability to customize the object themself, and that i shouldn't wish to this..

I did previously do simple method before like above but coming back the end result like a row... but it is sometimes painfull if you have complex statement based on different tables..

The issue you have (complex claims based on different tables) is definitely an old and common trouble with ORM frameworks generally. You will find plenty of things SQL can perform, that the ORM does not prosper. Inevitably, make in the different in complexity by writing plenty of complicated code inside your Controller or perhaps your View.

Rather, make use of a Domain Model pattern and encapsulate the complex multi-table database logic into one place, so that your Remotes and Sights do not have to learn about all of the sundry particulars. They simply know of the interface of the Domain Model class, which class has got the sole responsibility to understand how to fetch the data in the database.

Remember: one "HAS-A" table (or multiple tables) -- rather than Model "IS-A" table.