首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >选择未呈现正确值的PHP Laravel选项

选择未呈现正确值的PHP Laravel选项
EN

Stack Overflow用户
提问于 2019-04-11 12:50:05
回答 2查看 442关注 0票数 1

我希望使用laravel-nova语法在select中显示一个值数组作为选项。我设法获得了在select中呈现的选项,但是这些选项的值如下

代码语言:javascript
复制
<option value="2"></option>
<option value="1"></option>
<option value="0"></option>

我想要的是文本作为一个值。

到目前为止,我得到的是:

代码语言:javascript
复制
Select::make('Slug')->options(
   $this->selectOptions()
)


public function selectOptions()
{
    $urls = DB::table('subpages');
    $slugs = $urls->pluck('slug');

    return $slugs;
}

我做错了什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-04-11 21:55:04

确保将子页面get()Illuminate\Support\CollectionmapWithKeys(),以重新格式化结果。使用toArray()提供Nova假定的格式:

代码语言:javascript
复制
private function selectOptions(): array
{
    $subpages = DB::table('subpages')->get();
    return $subpages->mapWithKeys(function ($subpage) {
        return [$subpage->slug => $subpage->slug];
    })->toArray();
}

返回的结果如下所示:

代码语言:javascript
复制
[
    'my-article-1' => 'my-article-1',
    'my-article-2' => 'my-article-2',
    'my-article-3' => 'my-article-3',
]
票数 1
EN

Stack Overflow用户

发布于 2019-04-11 21:51:36

我建议使用以下参数:

代码语言:javascript
复制
->pluck('yourValue','yourKey');

这就产生了有用的标签与你的价值。

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

https://stackoverflow.com/questions/55632933

复制
相关文章

相似问题

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