Hi, i'm currently working on a cake-shell cron, and i got some trouble
using one of the components from my App.
I need to use a method from a component that is usally used in my
Orders-Controller, i tried:

---------------------

App::import('Component','OrderProcess');

class OrdersCronShell extends Shell
{
        var $uses                       = array('Order');
        var $OrderProcess       = false;

        function main()
        {
                $this->OrderProcess = new OrderProcessComponent();
                $res = $this->Order->findAllByStatus('3');
                $order_ids = Set::extract('/Order/id',$res);

                $this->out("got ".count($order_ids)." pending orders");

                for ($x = 0; $x < count($order_ids); $x++) {
                        $transfer_result = 
$this->OrderProcess->transferOrder($order_ids
[$x]);

                        if (!($transfer_result === true)) {
                                $this->out("failed transfering order 
".$order_ids[$x]."\r\n");
                        }
                }
        }
}

---------------------

which results in:
Fatal error: Call to a member function loadOrder() on a non-object in
<app_path>/controllers/components/order_process.php on line 181

The amazing thing here: transferOrder IS called (so i guess there is a
component-object), but the call to the components loadOrder function
(called from within transferOrder) fails... o_O

Then i tried wrapping the whole component-using to a Shell-Task class
(acording to the "using the mail component in a shell"-article from
the bakery) but the same error occured.....

i even tried to load the controller instead of just the component:

---------------------

App::import('Core', 'Controller');
App::import('Controller', 'Orders');

class OrdersCronShell extends Shell
{
        var $uses                       = array('Order');
        var $Orders;

        function main()
        {
                $this->Orders = new OrdersController();
                $this->Orders->constructClasses();

                $res = $this->Order->findAllByStatus('3');
                $order_ids = Set::extract('/Order/id',$res);

                $this->out("got ".count($order_ids)." pending orders");

                for ($x = 0; $x < count($order_ids); $x++) {
                        $transfer_result = 
$this->Orders->OrderProcess->transferOrder
($order_ids[$x]);

                        if (!($transfer_result === true)) {
                                $this->out("failed transfering order 
".$order_ids[$x]."\r\n");
                        }
                }
        }
}

---------------------

..same error....any help?
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"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/cake-php?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to