这是一个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 ) )
那么如何将其转换为字符串?
答案 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传递正确的元素。