Laravel 5 列出 htmlentities() 期望参数 1 为字符串

Laravel 5 lists htmlentities() expects parameter 1 to be string

我有以下内容:

\App\Models\Finance\FinanceAccount::列表('name', 'id')

在我的一个观点的顶部,但它一直给我错误:

htmlentities() expects parameter 1 to be string, array given (View: mysite\views\modals\add.blade.php)

我做错了什么?


它是一个数组是有道理的,我将它放入 select 并且它现在可以工作了:

<div class="form-group">
      {!!Form::label('Account')!!}
      {!!Form::select('account', \App\Models\Finance\FinanceAccount::getSelectOptions(), 1, ['class' => 'form-control'])!!}
  </div>

有没有办法为视图设置命名空间,这样我就不必一直键入完整的命名空间?

lists 给出一个数组,这不是你可以用 {{ }} 回显的东西。如果你想打印它的内容,你需要做的是循环或 implode 数组。

foreach

@foreach ($list as $item)
    {{ $item }}<br />
@endforeach

implode

{{ implode(', ', $list) }}

Form::select

{!! Form::select('foo', $list) !!}

如果您不想在您的视图中使用您的名称空间(您永远不应该使用),send the data 从您的控制器到您的视图文件。

如果你的控制器中有这个

public function foo() {
    $baz = \App\Models\Finance\FinanceAccount::getSelectOptions();

    return view('bar', compact('baz'));
}

$baz 变量随后在您的视图文件中可用。所以你可以这样做:

{!! Form::select('foo', $baz) !!}