Log message #114191

# At Username Text
# Aug 9th 2008, 18:05 TommyO don't assign it to a class value like that as it will interfere with the controller's expectation of that member
# Aug 9th 2008, 18:04 jaredhoyt i haven't tried calling the method from a normal controller's beforeFilter... just a controller's method
# Aug 9th 2008, 18:04 jaredhoyt well actually i take that back
# Aug 9th 2008, 18:04 jezek mm
# Aug 9th 2008, 18:04 jaredhoyt if you do it in a normal controller's beforeFilter(), it is
# Aug 9th 2008, 18:04 jaredhoyt TommyO: right, his problem is... if you do $this->User = ClassRegistry::init('User'); in Component::startup() and call the method that uses $this->User in AppController::beforeFilter ... the User model isn't loaded
# Aug 9th 2008, 18:03 TommyO jezek: ^^ this applies to you too :)
# Aug 9th 2008, 18:03 TommyO or to turn it off, like $this->Component->enabled = false;
# Aug 9th 2008, 18:02 TommyO *you do
# Aug 9th 2008, 18:02 TommyO that way beforeFilter can be used to give the component settings, like yo udo for Auth
# Aug 9th 2008, 18:02 TommyO jaredhoyt: the process is: Component::initialize(); Controller::beforeFilter(); Component::startup(); Controller::action(); Controller::beforeRender();
# Aug 9th 2008, 17:58 jezek oh
# Aug 9th 2008, 17:58 jaredhoyt i don't know why though because i don't know enough about the class registry =P
# Aug 9th 2008, 17:58 jaredhoyt i just tried an arbitrary example and it fails from beforeFilter() but works from beforeRender()
# Aug 9th 2008, 17:58 jezek hmm
# Aug 9th 2008, 17:57 jaredhoyt hmm, you're right, it does make a different if the component's method is being called from app controller's beforeFilter()
# Aug 9th 2008, 17:53 jezek i copied and psted what you wrote
# Aug 9th 2008, 17:53 jezek Call to a member function findById() on a non-object
# Aug 9th 2008, 17:52 jaredhoyt i don't think it would make a difference
# Aug 9th 2008, 17:51 jezek if it makes any difference, i'm including the component in app_controller
# Aug 9th 2008, 17:51 jaredhoyt i added $this->User = ClassRegistry::init('User'); to a component startup and pr($this->User->findById(1)); to the method, and it worked just fine
# Aug 9th 2008, 17:51 jezek mm
# Aug 9th 2008, 17:51 jezek really
# Aug 9th 2008, 17:50 jaredhoyt clear your cache maybe
# Aug 9th 2008, 17:50 jaredhoyt hmm, works fine for me
# Aug 9th 2008, 17:48 jezek null
# Aug 9th 2008, 17:45 jaredhoyt yeah, try http://bin.cakephp.org/view/1303690479
# Aug 9th 2008, 17:43 jezek nope
# Aug 9th 2008, 17:43 jaredhoyt are you defining the variable outside of startup() as well? like $userInstance = null; or whatever
# Aug 9th 2008, 17:42 jezek ok
# Aug 9th 2008, 17:41 jaredhoyt or whatever model it is
# Aug 9th 2008, 17:41 jezek the name of the variable?
# Aug 9th 2008, 17:41 jaredhoyt don't know if it loads it automatically into the class with the same name... try $this->userInstance = ...
# Aug 9th 2008, 17:41 jaredhoyt maybe try changing the name... i'm not 100% how init() works...
# Aug 9th 2008, 17:41 jezek yeah it works fine that way
# Aug 9th 2008, 17:40 jaredhoyt like it is in the manual
# Aug 9th 2008, 17:39 jaredhoyt jezek: did you try just instantiating the model in the method first?
# Aug 9th 2008, 17:39 JD__ so it looks llke i need to make a new profile object, load the data, run validation, then resave everything else
# Aug 9th 2008, 17:39 JD__ Im dying there because i have model validation in my profile object.. the save silently fails
# Aug 9th 2008, 17:39 jaredhoyt hmmm
# Aug 9th 2008, 17:38 jezek http://bin.cakephp.org/view/1303690479