我在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
但是我怎样才能最好地解决这个错误?
亲切的问候,
罗宾
答案 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()和循环,现在它确实有效,非常感谢!