htmlspecialchars()期望参数1为字符串,为连接查询指定对象

时间:2019-10-12 05:10:46

标签: php laravel join

我在活动表中有一列名为user_id的列。现在,我想获取其用户名存储在activity_table中的用户名。到目前为止,我已经尝试过

$activity_user=DB::table('users')
                ->join('activities','users.id','activities.user_id')
                ->select('users.name')->first();

但是当我尝试在这样的视图上调用它时

<td style="text-align: center">{{ $activity->user_id ? $activity_user : ""}}</td>

我遇到了这个错误

htmlspecialchars() expects parameter 1 to be string, object given (View: C:\xampp\htdocs\task-management-system\resources\views\super_admin\home.blade.php)

enter image description here

1 个答案:

答案 0 :(得分:2)

version: '3'
  services:
    datahub_db:
      image: "mysql:5.7.20"
      user: $UID
      restart: always
      environment:
        - MYSQL_ROOT_PASSWORD=${DATAHUB_DB_ROOT_PASSWORD}
        - MYSQL_DATABASE=${DATAHUB_DB_DATABASE}
      volumes:
        - "datahub_db:/var/lib/mysql"
        - "./data/datahub/import:/var/lib/mysql-files/datahub/import"
        - "./data/akeneo/import:/var/lib/mysql-files/akeneo/import"
      ports:
        - "${DATAHUB_DB_PORT}:3306"

...

volumes:
  datahub_db:

在此{{ $activity->user_id ? $activity_user : ""}} 中是对象,而您正在显示对象,所以现在使用下面的代码,$activity_user使用$activity_user

$activity_user->name

注意:请确保在{{ $activity_user ? $activity_user->name : ""}} 中打印的任何内容均应为字符串。

更新

如果您想获取多个数据,则

{{ }}

查看文件

$activity_user=DB::table('users')
                ->join('activities','users.id','activities.user_id')
                ->select('users.name')->get();