#2056: [PATCH] afterFind and beforeFind methods should be called on associated
models
----------------------------+-----------------------------------------------
Reporter: maular | Owner:
Type: Enhancement | Status: new
Priority: Medium | Milestone: 1.3.x.x
Component: Model | Version:
Severity: Trivial | Resolution:
Keywords: | Php_version: PHP 4 >= 4.3.0
Cake_version: 4451 |
----------------------------+-----------------------------------------------
Comment (by ionas82):
A tip for those trying to get around this implementation restriction:
For instance if you have Post HasMany Comment and Comment BelongsTo Post
and you have a Post with id 1 and that has 3 Commments.
/posts/view/1 will show you 3 Comments. To modify or remove those Comments
beforeFilter will not work (nor will afterFilter in means of direct
manipulation of QUERY you will see with debug = 2 in core.php - the SELECT
QUERY that will get you the Comments data).
What will work is to manipulate $results/$data in afterFind() of your
primary Model (or behavior of that Model). You will have to play around
with Set:: and array_* of php but it generally works:
a.) _*without*_ changing dbo_source.php's "function read(..." (to enable
associated model's beforeFind) or dbo_source.php's "function
__filterResults()..." (to enable associated model's afterFind)
b.) because of a.) it "should" not break current CORE behavior's (like
translate or others I do not know of)
Happy baking and happy spicing up your /app ;)
ionas82
p.s Thanks to Chaso for replying to my question and pointing me towards
the solution I already had (in another circumstance) in my concrete
implementation.
--
Ticket URL: <https://trac.cakephp.org/ticket/2056#comment:14>
CakePHP : The Rapid Development Framework for PHP <https://trac.cakephp.org/>
Cake is a rapid development framework for PHP which uses commonly known design
patterns like ActiveRecord, Association Data Mapping, Front Controller and MVC.
Our primary goal is to provide a structured framework that enables PHP users at
all levels to rapidly develop robust web applications, without any loss to
flexibility.
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"tickets cakephp" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/tickets-cakephp?hl=en
-~----------~----~----~----~------~----~------~--~---