首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Laravel - eloquent对象和数组chuck

Laravel - eloquent对象和数组chuck
EN

Stack Overflow用户
提问于 2015-05-01 16:52:15
回答 2查看 1.3K关注 0票数 0

希望对数组块使用eloquent,但遇到了第一个参数需要是数组的错误。

这是我做事情的方式:

代码语言:javascript
复制
public function index() {
    $externalAccounts = ExternalUserAccount::all();
    return View::make('user_creator.index', compact('externalAccounts'));
}

在我看来:

代码语言:javascript
复制
@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数组:

代码语言:javascript
复制
$externalAccounts = ExternalUserAccount::all()->toArray();

然后我收到“正在尝试获取非对象的属性等”错误。

我该怎么做呢?

EN

回答 2

Stack Overflow用户

发布于 2015-05-01 17:22:50

这是未经测试的,但查看Laravel文档,您最好的选择是使用Laravel Eloquent ORM来完成此操作,并删除视图中的过滤

代码语言:javascript
复制
$externalAccounts = ExternalUserAccount::all()->take(4)->get();

Laravel query builder

票数 0
EN

Stack Overflow用户

发布于 2015-05-01 19:27:30

下面的代码应该可以工作:

代码语言:javascript
复制
$externalAccounts = ExternalUserAccount::all()->toArray();

ExternalUserAccount::all()调用应返回一个“Collection”对象,该对象默认实现提供“toArray()”方法的ArrayableInterface。

确保:

1)您的ExternalUserAccount类扩展了\Eloquent类。

2) ExternalUserAccount::all()的结果是一个‘Database\Database\Eloquent\Collection’类型的对象。

代码语言:javascript
复制
dd(ExternalUserAccount::all());
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29984033

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档