ここに 2 つのサンプルがあります。
1.
コントローラーで
$result_article = $this->cms->get_content($event_id);
if($result_article->num_rows() == 1){
$data['row'] = $result_article->row();
}
私からしてみれば
<?php echo $row->title; ?>
print_r($row)/print_r($result_article->row()); 出力
stdClass Object ( [id] => 43 [title] => Grant visit by Prime Minister [content] => this is the content [create_date] => 2012-09-21 [last_update] => 2012-09-22 19:27:12 )
エラーが表示された
A PHP Error was encountered
Severity: 4096
Message: Object of class stdClass could not be converted to string
Filename: libraries/Parser.php
Line Number: 101
2.
コントローラーで
$result_article = $this->cms->get_content($event_id);
if($result_article->num_rows() == 1){
$row = $result_article->row();
$data = array(
'title' => $row->title
);
}
私からしてみれば
<?php echo $title; ?>
print_r($title) 出力
Grant visit by Prime Minister
エラーなし。
1 番目のコントローラーと 2 番目のコードの違いは何ですか。同じ出力であると思われますか? 私は混乱しています!
より明確にするために、コードを簡略化しました
ここにモデルがあります
function get_content($event_id){
$this->db->select('id,title,content,create_date,last_update');
$query = $this->db->get_where('events',array('id' => $event_id));
return $query;
}
コントローラー
$data['query'] = $this->cms->get_content($this->uri->segment(3));
if($data['query']->num_rows() == 1){
$row = $data['query']->row();
<!--with this code, no error appear-->
$data = array(
'title' => $row->title,
'content' => $row->content,
'create_date' => $row->create_date,
'last_update' => $row->last_update,
'event_id' => $row->id
);
<!--with this code, no error appear-->
これらのコードのみの場合
$data['query'] = $this->cms->get_content($this->uri->segment(3));
if($data['query']->num_rows() == 1){
$row = $data['query']->row();
エラーが発生し、
A PHP Error was encountered
Severity: 4096
Message: Object of class CI_DB_mysql_result could not be converted to string
Filename: libraries/Parser.php
Line Number: 101