ORM类的对象无法转换为字符串<img src=""

时间:2016-07-25 17:16:10

标签: php html slim idiorm

="" 所以我很多都是新手。绝对是PHP和idorm。我搜索的范围很广,但我没有看到这个具体问题的答案。

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

Slim错误弹出$ code的PHP代码。

这是我的Html视图

<div class="profile-left">
  <div class="profile-image">
    <img src="<?= empty($picture) ? '/static/images/profile-default.png' : $picture ?>"/>
      <i class="fa fa-user hide"></i>
  </div>
  <div class="m-b-10">
    <button class="btn btn-warning btn-block btn-sm" type="button" id="change_picture" data-toggle="modal" href="#change-picture-modal">Change picture</button>
  </div>
</div> 

这是另一个档案中$ picture的路线

$picture = ORM::for_table('picture')
    ->where('picture_gallery_id', $user->account_id)
    ->where('name', $user->account_id . ':profile')
    ->find_one();

$params = array_merge(
    get_base_params('account', 'Edit Profile'),
    [
        'picture' => $picture,
    ]);

数据本身作为bytea保存在Postgres表中。

我很确定我在我的noob-ishness中遗漏了一些东西。提前感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

假设ORM返回某种类型的图片对象,请执行var_dump()变量$picture,如果您不知道picture的结构,请查看可用的字段表

您的问题与错误指示的完全相同,$picture是一个对象,您的模板系统需要一个字符串(或者转换为字符串的东西)。您希望传入要显示的$picture对象的字符串属性:

  $params = array_merge(
get_base_params('account', 'Edit Profile'),
[
    'picture' => $picture->some_property,
]);

ORM库有可能找不到图片并返回自己的实例或某些内容。