【问题标题】:PHP Laravel - Display a collection string in blade viewPHP Laravel - 在刀片视图中显示集合字符串
【发布时间】:2018-04-04 07:58:03
【问题描述】:

我有一个控制器,想按原样将集合显示到我的刀片视图中。

这是我的代码

public function reserveSchedule($id){
    $schedule = DB::table('schedules AS s')
                ->select('s.lesson_name AS title','s.time_start AS start','s.time_end AS end')
                ->where('s.teacher',$id)
                ->get();
    return view('pages.reserve',compact('schedule'));
}

在我的刀片视图中,我需要显示 schedule 变量。所以我做到了

{{$schedule}}

但它给了我一个错误htmlentities() expects parameter 1 to be string, array given

我知道该集合是一个数组,但我需要该数组只是一个数组字符串,以便我可以在我的 javascript 中将其解析为 JSON 并将其与我的 fullCalendar 事件一起使用。

感谢任何帮助。

顺便说一句,我使用的是 Laravel 5.1。

谢谢大家!

【问题讨论】:

  • 可以使用json的_encode($schedule)函数将数组转换成json字符串。

标签: php laravel


【解决方案1】:

重新编辑答案---

如果您想将$schedule 解析为 JSON,您可以在将其分配给视图之前将其 json_encode()

$schedule = json_encode($schedule);

【讨论】:

  • 我知道,但我希望集合按原样呈现.. 纯数组字符串
  • 它抛出一个错误Call to a member function toJson() on array
  • 哦,对了。由于您没有使用 Eloquent 模型,因此您只会得到一个普通数组而不是 Collection。只需使用json_encode()
【解决方案2】:

在 Laravel 5.1 中,get() 返回一个数组而不是一个集合,因此您可以更改您的控制器:

return view('pages.reserve', array('schedule' => json_encode($schedule));

...或者你可以改变你的看法:

{{ json_encode($schedule) }}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-13
    • 2017-08-18
    • 2020-09-22
    • 1970-01-01
    • 2023-01-08
    • 2017-03-12
    相关资源
    最近更新 更多