希望对数组块使用eloquent,但遇到了第一个参数需要是数组的错误。
这是我做事情的方式:
public function index() {
$externalAccounts = ExternalUserAccount::all();
return View::make('user_creator.index', compact('externalAccounts'));
}在我看来:
@foreach (array_chunk($externalAccounts, 4) as $key => $externalAccount)
<div class="form-group">
{{ Form::label($externalAccount->name, $externalAccount->display_name) }}
{{ Form::checkbox($externalAccount->name, $externalAccount->id) }}
</div>
@endforeach但是,如果我在控制器中使用to数组:
$externalAccounts = ExternalUserAccount::all()->toArray();然后我收到“正在尝试获取非对象的属性等”错误。
我该怎么做呢?
发布于 2015-05-01 17:22:50
这是未经测试的,但查看Laravel文档,您最好的选择是使用Laravel Eloquent ORM来完成此操作,并删除视图中的过滤
$externalAccounts = ExternalUserAccount::all()->take(4)->get();Laravel query builder
发布于 2015-05-01 19:27:30
下面的代码应该可以工作:
$externalAccounts = ExternalUserAccount::all()->toArray();ExternalUserAccount::all()调用应返回一个“Collection”对象,该对象默认实现提供“toArray()”方法的ArrayableInterface。
确保:
1)您的ExternalUserAccount类扩展了\Eloquent类。
2) ExternalUserAccount::all()的结果是一个‘Database\Database\Eloquent\Collection’类型的对象。
dd(ExternalUserAccount::all());https://stackoverflow.com/questions/29984033
复制相似问题