首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Laravel 5.3 Pluck诉All

Laravel 5.3 Pluck诉All
EN

Stack Overflow用户
提问于 2017-01-26 05:07:07
回答 1查看 1.5K关注 0票数 1

我有个问题要问

因此,我试图创建一个下拉列表,它将显示来自另一个表的数据。在我的控制器中,我在创建函数中声明了这些表。

代码语言:javascript
复制
public function create()
{
    $tenants = Tenant::pluck('name','id');
    $categories = Category::pluck('name','id');
    return view('items.create', ['categories' => $categories, 'tenants' => $tenants]);
}

在我看来:

代码语言:javascript
复制
<div class='form-group'>
                        <label for="category_id" class="col-md-4 control-label">Item Category</label>
                        <div class="col-md-6">
                        <select class="form-control" name="category" id="categories">
                            @foreach($categories as $category)
                            {
                                <option value={{ $category->id }}>{{ $category->name }}</option>
                            }
                            @endforeach
                        </select>   
                        </div>
                    </div>

                     <div class='form-group'>
                        <label for="tenant_id" class="col-md-4 control-label">Tenant</label>

                        <div class="col-md-6">
                        <select class="form-control" name="tenant" id="tenants">
                            @foreach($tenants as $tenant)
                            {
                                <option value={{ $tenant->id }}>{{ $tenant->name }}</option>
                            }
                            @endforeach
                        </select>   
                        </div>

                        </div>

它会产生一个错误:试图获取非对象的属性。

但是,如果我将pluck改为all,就像我在这里所做的那样:

代码语言:javascript
复制
public function create()
{
    $tenants = Tenant::all();
    $categories = Category::all();
    return view('items.create', ['categories' => $categories, 'tenants' => $tenants]);
}

起作用了。问题是,我只想得到'name‘& 'id’的值,对于all,它还会返回我不需要的属性。我怎样才能用勇气实现这一目标呢?如果我读了文档,它会说pluck会检索给定键的所有值,但是为什么我的pluck不能工作呢?我是新的php和laravel,所以任何给定的指南都会很棒。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-01-26 05:09:25

在使用pluck()时,您将获得[id => 'name']格式的数据,因此请执行以下操作:

代码语言:javascript
复制
@foreach($categories as $id => $category)
    <option value={{ $id }}>{{ $category }}</option>
@endforeach

$tenants也做同样的事情

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41867227

复制
相关文章

相似问题

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