Laravel(4.1.24)将查询输出传递给视图时的数组到字符串转换

时间:2014-03-23 21:11:43

标签: arrays view laravel

我试图在Laravel(4.1.24)中构建一个简单的应用程序。但是当我尝试在视图中使用查询中的数据时,我遇到了问题。

方法:

    public function openExcersise(){
    $data = Auth::user();
    $levels = DB::table('user_levels')->where('user_id', $data->id)->get();
    //var_dump($levels);
    return View::make('users.excersise_home', array('title'=>'excersise', 'data'=>$data, 'levels'=>$levels));
}

视图:

@extends('layouts.default')

@section('content')

<section class="container registration">
    <div class="row center">
        <h1>Hi, {{ $data['firstname'] }}</h1>
        @include('embeds.userErrors')
    </div>
</section>

<section class="container">
    <div class="row">
        <p>excersise</p>
        <!--{{$data}}-->
        {{$levels}}
    </div>
</section>

@endsection

错误:

ErrorException 数组到字符串的转换(查看:/Applications/MAMP/htdocs/flashwords/app/app/views/users/excersise_home.blade.php)

当我在方法中转储$ level时,我得到以下输出(这是正确的内容,我需要一个记录,我得到一个)

array(1) { [0]=> object(stdClass)#172 (9) { ["id"]=> string(1) "1" ["user_id"]=> string(1) "1" ["1"]=> string(0) "" ["2"]=> string(0) "" ["3"]=> string(0) "" ["4"]=> string(0) "" ["5"]=> string(0) "" ["created_at"]=> string(19) "2014-03-23 19:33:53" ["updated_at"]=> string(19) "2014-03-23 19:33:53" } }

我不知道出了什么问题,因为我可以在视图中使用$ data var而没有任何问题,这也是一个数组...

提前致谢!

1 个答案:

答案 0 :(得分:0)

您可以毫无问题地使用$data,因为它是对象,可以实现ArrayAccess interface,还可以提供magical __toString method。换句话说:它是数组......