Laravel(4.1.24)将查询输出传递给视图时数组到字符串的转换
Posted
技术标签:
【中文标题】Laravel(4.1.24)将查询输出传递给视图时数组到字符串的转换【英文标题】:Laravel (4.1.24) Array to string conversion when pass query output to view 【发布时间】:2014-03-23 21:11:43 【问题描述】:我正在尝试在 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
错误:
错误异常 数组到字符串的转换(查看:/Applications/MAMP/htdocs/flashwords/app/app/views/users/excersise_home.blade.php)
当我在方法中转储 $levels 时,我得到以下输出(直接来自内容,我需要一条记录并得到一条)
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】:您可以毫无问题地使用$data
,因为它是一个实现ArrayAccess interface 并提供magical __toString
method 的对象。换句话说:它不是数组...
【讨论】:
以上是关于Laravel(4.1.24)将查询输出传递给视图时数组到字符串的转换的主要内容,如果未能解决你的问题,请参考以下文章