這個問題在這里已經有了答案:
這就是現在的樣子
![如何在 Laravel 中使用 Form::Select 在輸入中僅顯示陣列中的特定資料?[復制]](https://img.uj5u.com/2022/11/21/54dcdfd85e0c457a8df86571cb23be94.png)
以及我希望如何顯示名稱。
![如何在 Laravel 中使用 Form::Select 在輸入中僅顯示陣列中的特定資料?[復制]](https://img.uj5u.com/2022/11/21/0dce5ad3f2fe4c1a9e0535677bc69c8a.png)
這是我將資料推送到頁面的 Controller 函式。
private function needs()
{
$grades = Grade::all()->pluck('name', 'id')->toArray();
$subjects = Subject::all()->pluck('name', 'id')->toArray();
$students = User::students()->get()->pluck('name', 'id')->toArray();
$teachers = User::teachers()->get()->pluck('name', 'id')->toArray();
$goals = Goal::all()->pluck('name', 'id')->toArray();
$statuses = Status::all()->pluck('name', 'id')->toArray();
$formats = Format::all()->map->only(['id', 'name', 'students'])->values()->toArray();
return compact('grades', 'subjects', 'students', 'teachers', 'goals', 'statuses', 'formats');
}
頁面上有表格:
<div class="form-group">
{{ Form::label('format_id', 'Формат', ['class' => 'col-sm-3 control-label no-padding-right']) }}
<div class="col-sm-8">
{{ Form::select('format_id', [null => '--не выбран--'] $formats, $data->format_id ?? 0, ['class' => 'form-control', 'id' => 'format_id']) }}
</div>
</div>
uj5u.com熱心網友回復:
$format您可以在控制器中的變數下使用一個小回圈來處理這個問題:
$arr = [];
foreach ($formats as $item) {
array_push($arr, $item['name']);
}
$formats = $arr;
或者像這樣更改此行:
$formats = array_column(
Format::all()->map->only(['id', 'name', 'students'])->values()->toArray(),
'name'
);
uj5u.com熱心網友回復:
您需要將 $formats 陣列轉換為鍵“id”和值“name”:
{{ Form::select(
'format_id',
[null => '--не выбран--'] array_combine(array_column($formats, 'id'), array_column($formats, 'name')),
$data->format_id ?? 0,
['class' => 'form-control', 'id' => 'format_id']
) }}
uj5u.com熱心網友回復:
您可以使用 mapWithKeys() 集合函式來執行此操作。
將陣列格式化為 [id => name] 的示例:
$grades = Grade::all()->pluck('name', 'id')
->mapWithKeys(function ($grade) {
return [$grade->id => $grade->name];
})
->toArray();
// Or select instead of pluck
$grades = Grade::select('id', 'name')->get()
->mapWithKeys(function ($grade) {
return [$grade->id => $grade->name];
})
->toArray();
檔案:https ://laravel.com/docs/9.x/collections#method-mapwithkeys
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/537040.html
標籤:PHP数组拉维形式输入
上一篇:如何使用textfinder()獲取同一行的其他列的值?
下一篇:如何使用flex對齊表單資訊
