如何将数组对象从模型传递到另一个控制器?

时间:2015-06-08 13:44:26

标签: codeigniter

这是一个Noob问题,但我搜索了很多没有运气。

我正在从模型到控制器返回对象数组,我必须将它传递给另一个模型。我将不得不转换它但是如何?

这是我的控制者:

        $data['customer_phoneno'] = $this->session->userdata('customer_phoneno');
        $data['cid']=$this->Stylish_wizard->getCid($this->session->userdata('customer_phoneno'));
        $data['bookings']=$this->Myaccount_customer->getBookings($cid);

型号:

public function getBookings($cid)

    {
      $this->db->where('cid', $cid);    
      $this->db->from('bookings');
      $query = $this->db->get();
      return $query->result();
    }   

我想从一个模型中获取数据并使用它从另一个模型中获取其他数据。

我曾尝试传递$ data ['cid'],但收到此错误

    A PHP Error was encountered

Severity: Notice

Message: Array to string conversion

Filename: database/DB_query_builder.php

Line Number: 662

Backtrace:

File: C:\xampp\htdocs\style\application\models\Myaccount_customer.php
Line: 24
Function: where

File: C:\xampp\htdocs\style\application\controllers\Myaccount.php
Line: 95
Function: getBookings

File: C:\xampp\htdocs\style\index.php
Line: 292
Function: require_once

A Database Error Occurred

Error Number: 1054

Unknown column 'Array' in 'where clause'

SELECT * FROM `bookings` WHERE `cid` = `Array`

Filename: C:/xampp/htdocs/style/application/models/Myaccount_customer.php

Line Number: 26

我试过传递

$data['cid']->cid

但它不起作用 当我打印$ data ['cid']时我得到了

Array ( [0] => stdClass Object ( [cid] => 8 ) )

那么如何将其转换为字符串?

2 个答案:

答案 0 :(得分:2)

然后你可以用

来实现它

<强>控制器

$cid

您可以像上面的代码一样在代码中调用另一个模型,但是在传递$data['cid']时,您的代码中可能会出现拼写错误似乎是{{1}而是。所以你的代码看起来像

$data['bookings']=$this->Myaccount_customer->getBookings($data['cid']);//<----- changed from $cid to $data['cid']

答案 1 :(得分:1)

如果我错了,请纠正我,但我认为你想实现这个目标:

$data['customer_phoneno'] = $this->session->userdata('customer_phoneno');
$data['cid']=$this->Stylish_wizard->getCid($this->session->userdata('customer_phoneno'));
$data['bookings']=$this->Myaccount_customer->getBookings($data['cid']);

确保传递正确的数组/对象元素。

编辑: 就像我说的:确保传递正确的数组或对象元素。 $data['cid']包含一个数组。但是你必须传递一个String(id)。因此,您必须查看此数组并使用您的id传递正确的元素。