我有以下的在我的模型一段代码:访问对象变量在PHP笨
public function getSite()
{
$this->load->library('site');
$data = array();
$str = "SELECT * FROM sitematrix_sites";
$query = $this->getQuery($str);
if($query){
foreach($query->result() as $row){
$site = new Site();
array_push($data, $site->load($row));
}
foreach($data as $site){
$site->data['database'] = $this->getDatabase($site->data['site_id']);
$site->data['baseline'] = $this->getBaseline($site->data['site_id']);
}
return $data;
}
else{
return false;
}
}
我创建了一个名为类网站:
class Site{
public $data;
public function __contruct(){
$this->data = ArrayObject(array(), ArrayObject::STD_PROP_LIST);
$this->data['site_id'] = '';
$this->data['site'] = '';
$this->data['site_code'] = '';
$this->data['tc_10'] = array();
$this->data['tc9x'] = array();
$this->data['tc8x'] = array();
$this->data['tc2008'] = array();
$this->data['eng_2005'] = array();
$this->data['database'] = array();
$this->data['baseline'] = array();
不过,我发现了以下错误:
<p>Severity: Notice</p>
<p>Message: Trying to get property of non-object</p>
<p>Filename: models/sitematrix_model.php</p>
<p>Line Number: 77</p>
有什么想法?我试图访问这些值为$site->data->database
和$site->data['database']
,但都不起作用。
line 77: $site->data['database'] = $this->getDatabase($site->data['site_id']);
功能getDatabase:
public function getDatabase($id){
$database = array();
$str = "SELECT * FROM site_database where site_id='$id'";
$query = $this->getQuery($str);
if($query){
foreach($query->result() as $row){
array_push($database, $row->name);
}
}
return $database;
}
功能getQuery:
public function getQuery($str){
$data = array();
$query = $this->db->query($str);
if(!$query || $query->num_rows() == 0){
return false;
}
return $query;
}
感谢
77号线是什么?如何删除“$ this-> data = ArrayObject ....”? – Robert
可能会缺少一些'new'吗? – hakre
我已经更新了我的问题,现在你们能够看到第77行: – cybertextron