PHP没有传递数据数组


PHP not passing the data array?

我在一个使用CodeIgniter的站点上工作,不知道为什么我的函数没有返回数组,这应该很简单。

在返回之前,我在模型中做了一个转储,只是看看它是否被格式化并有数据(确实如此)。问题似乎出在控制器中——函数没有返回数据,并且在视图中属性为null。

CI或PHP发生了什么可能导致这种情况?

Controller: 
function galleryManagement()
{
    if (! $this->session->userdata('is_admin'))
    {
        redirect('admin/index');
    }
    else
    {
        /*
        $selectedProperty = $this->input->post('selectedProperty');
        switch ($selectedProperty)
        {
            case "westgate":
                $selectedID = '1';
                break;
            case "prospector436":
                $selectedID = '2';
                break;
            case "prospector437":
                $selectedID = '3';
                break;
            case "prospectorcombo":
                $selectedID = '4';
                break;
            default:
                $selectedID = '-1';
        }
        if ($selectedID != '-1')
        {
        */
            $this->load->model('admin_model');
            $propertyObj = $this->admin_model->getProperties();
            $data['properties'] = $propertyObj;
            $data['propertyID'] = $selectedID;
            $data['galleryObj'] = $this->admin_model->getGallery($selectedProperty);
            //$data['textarea'] = array ( 'name' => 'altText', 'style' => "width: 320px; height: 36px;" );
            $this->load->view('db_site/admin_gallery_view', $data);
        /*
        }
        else
        {
            $this->load->model('admin_model');
            $data['propertiesObj'] = $this->admin_model->getProperties();
            $data['propertyID'] = $selectedID;
            $this->load->view('db_site/admin_gallery_view', $data);
        }
        */
    }
}
Model:
function getProperties()
{
    $this->db->select('property_id, name');
    $this->db->from('property');
    $q = $this->db->get();
    if ($q->num_rows != 0)
    {
        $propertiesObj = $q->result();
        foreach ($propertiesObj as $property)
        {
            $properties[$property->name] = $property->property_id;
        }
        echo "Model Dump: ";
        var_dump($properties);
        return $properties;
    }
    else
    {
        return false;
    }
}
View:
<?php
    var_dump($properties);
    echo form_open('admin/galleryManagement');
    echo "<p>Property: " . form_dropdown('selectedProperty', $properties) . "</p>";        
    echo form_submit('select', 'Select');
?>

在您的视图中,您使用了$properties,它没有从控制器传递到else块的$data数组中。如果按照下面的方式更改控制器的else块,它就会工作。

    else
    {
        $this->load->model('admin_model');
        $data['properties'] = $this->admin_model->getProperties();
        $data['propertyID'] = $selectedID;
        $this->load->view('db_site/admin_gallery_view', $data);
    }

编辑

从你最近的编辑来看,你似乎已经评论了我所说的else块。你还有问题吗??