Php 数据库查询在视图中显示而不是$data

Php 数据库查询在视图中显示而不是$data,php,codeigniter,Php,Codeigniter,下面的代码似乎显示在“视图”中,而不是通过$data显示(我还没有将$data['companyName']回显到我的视图中,但是$data['pageTitle']工作正常) 问题: function companyName() { $companyName = $this->db->query("SELECT company_name FROM core"); if ($companyName->num_rows() > 0)

下面的代码似乎显示在“视图”中,而不是通过
$data
显示(我还没有将
$data['companyName']
回显到我的视图中,但是
$data['pageTitle']
工作正常)

问题:

function companyName()
    {
        $companyName = $this->db->query("SELECT company_name FROM core");

        if ($companyName->num_rows() > 0)
        {
            foreach ($companyName->result() as $row)
            {
                echo $row->company_name;
            }
        }
public function index()
{
    $data['companyName'] = $this->core_model->companyName();
    $data['pageTitle'] = "Admin Login";
    $this->load->view('admin/assets/header', $data);
    $this->load->view('admin/login.php');
    $this->load->view('admin/assets/footer');
}

型号:

function companyName()
    {
        $companyName = $this->db->query("SELECT company_name FROM core");

        if ($companyName->num_rows() > 0)
        {
            foreach ($companyName->result() as $row)
            {
                echo $row->company_name;
            }
        }
public function index()
{
    $data['companyName'] = $this->core_model->companyName();
    $data['pageTitle'] = "Admin Login";
    $this->load->view('admin/assets/header', $data);
    $this->load->view('admin/login.php');
    $this->load->view('admin/assets/footer');
}
控制器:

function companyName()
    {
        $companyName = $this->db->query("SELECT company_name FROM core");

        if ($companyName->num_rows() > 0)
        {
            foreach ($companyName->result() as $row)
            {
                echo $row->company_name;
            }
        }
public function index()
{
    $data['companyName'] = $this->core_model->companyName();
    $data['pageTitle'] = "Admin Login";
    $this->load->view('admin/assets/header', $data);
    $this->load->view('admin/login.php');
    $this->load->view('admin/assets/footer');
}

通过
echo
ing模型中的某些内容,在处理模型时会发生
echo
,这比视图在其控制器眼中闪烁还要早

相反,您应该在模型中执行以下操作:

function companyName()
{
    $companyName = $this->db->query("SELECT company_name FROM core");

    if ($companyName->num_rows() > 0)
    {
        $company_names = '';
        foreach ($companyName->result() as $row)
        {
            $company_names .= $row->company_name;
        }
    }
    return $company_names;
}
然后,您可以将
$data
传递到视图中,字符串将准备好按照您的需要进行回显