1

类 stdClass 的对象无法转换为字符串

public function get($id = null)
{
    $terms                  = array('id' => $id);
    $blog                   = $this->model->getBy($terms); 

    // $blog => (object) [id => 1, category_id => 3]

    $fix->id                = $blog->id;
    // $fix->category       = $this->getCategory($blog->category_id); // Not work
    $fix->cat_or_something = $this->getCategory($blog->category_id); // Work

    return $fix;

    // $fix => (object) [id => 1, cat_or_something => [name => Some Category]]
}

如果我更改$fix->category$fix->cat_or_something,它将起作用。有一些奇怪的东西$fix->category

4

1 回答 1

0

问题出在代码中的其他地方。您很可能正在尝试在某处回显 $fix->category,并且由于它包含一个对象,因此您会收到错误。

编辑2:

再看一遍之后,我仍然坚持我最初的答案。如果您在屏幕截图 ( http://d.pr/i/4Hn7 ) 中查看代码的第 3 版,您会发现错误发生在 print_r 之后,因此在将其分配给 $fix->category 之后也是如此 -所以这不是问题

错误发生在DB_active_rec.php中。这就是我的版本(2.0)中的 _where() 方法。因此,这意味着您正在尝试在某处的 where 子句中使用 $fix->category ...尝试调查一下。

于 2012-06-19T14:15:03.370 回答