Laravel在会话中从数据库中放入一个值

时间:2015-04-13 14:10:18

标签: php session laravel

我在Laravel的会话中遇到了问题...... 所以我想从数据库中选择一些值来通过会话显示用户图像。

这是我的LoginController,因此当他们登录时,我会定义会话。

我正在使用的查询:

$users_images = DB::table('users')->select('user_image.img')->join('user_image','user_image.uid','=','users.id')->get();

现在,我希望查询写得正确,我想从表'user_image'中选择'img',其中该表中的'uid'与表'users'中的'id'相同。 ..

现在.... 我将查询存储在一个会话中,这是我在var_dump()中的输出;是正确的东西......

所以我存储在会话中......

Session::put('user_img', $users_images);

现在,那没关系。 我在我看来要求会议。

{{ Session::get('user_img', 'none.png') }}

完整的请求是:

<img style="max-width:33px;" src="{{ Config::get('app.url') }}/public/img/user_img/{{ Session::get('user_img', 'none.png') }}"/>

但这没关系,因为{{ Config::get('app.url') }} 一直工作。

我收到的错误是ErrorException (E_UNKNOWN) Array to string conversion 但是我怎样才能最好地解决这个错误?

亲切的问候,

罗宾

2 个答案:

答案 0 :(得分:1)

这是因为您的会话是数组,并且您尝试将其打印为字符串。

你要么循环它:

@foreach (Session::get('user_img') as $img) 

  <img style="max-width:33px;" src="{{ Config::get('app.url') }}/public/img/user_img/{{ $img }}"/>

@endforeach

或者您只需记录一条记录:

$users_images = DB::table('users')
->select('user_image.img')
->join('user_image','user_image.uid','=','users.id')
->first();

答案 1 :(得分:0)

我结合了两个,单个 - &gt; first()和循环,现在它确实有效,非常感谢!