I'm new to Codeigniter and OOP PHP.
Controller:
public function index(){ $this->load->model('main_model'); $planet = $this->main_model->solar(); $this->load->view('main_view', $planet); }
If echo $planet
in the controller it does what it's supposed to do. If I echo $planet
in the view I get an undefined variable error. $planet
is not an array. Why isn't the $planet
variable being passed to the view?
I know this is a simple and basic question and I'm embarrassed that I can't figure out what I'm doing wrong.
EDIT: Okay, after more fiddling around, I got it to work. Can variables only be passed from Controller to View when they're formatted as an array?
You have to pass an array to the view. CodeIgniter automatically makes $planet
available to you.
$data = array('planet' => $planet); $this->load->view('main_view', $data);
With this you can use $planet
in your view.
E.g., if you do the following:
$data = array('foo' => 'Hello', 'bar' => 'world'); $this->load->view('main_view', $data);
$foo
and $bar
will be available in your view. The key-value pairs in the array are automatically converted to variables in the view.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With