簡體   English   中英

選擇不呈現正確值的 PHP Laravel 選項

[英]PHP Laravel options of select not rendering correct values

我想使用 laravel-nova 語法在選擇中顯示一組值作為選項。 我設法在選擇中呈現選項,但這些選項的值就像

<option value="2"></option>
<option value="1"></option>
<option value="0"></option>

我想要的是文本作為值。

這是我到目前為止得到的:

Select::make('Slug')->options(
   $this->selectOptions()
)


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

    return $slugs;
}

我究竟做錯了什么?

確保get()子頁面為Illuminate\\Support\\CollectionmapWithKeys()以重新格式化結果。 使用toArray()提供 Nova 假定的格式:

private function selectOptions(): array
{
    $subpages = DB::table('subpages')->get();
    return $subpages->mapWithKeys(function ($subpage) {
        return [$subpage->slug => $subpage->slug];
    })->toArray();
}

返回的結果應該是這樣的:

[
    'my-article-1' => 'my-article-1',
    'my-article-2' => 'my-article-2',
    'my-article-3' => 'my-article-3',
]

我建議使用以下參數:

->pluck('yourValue','yourKey');

這為您的價值觀提供了有用的標簽。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM