gpt4 book ai didi

php - 使用数据库表中的值生成下拉列表输入

转载 作者:可可西里 更新时间:2023-11-01 12:40:18 24 4
gpt4 key购买 nike

我正在尝试使用 Laravel 生成一个下拉列表,其中包含来自 MySQL 表的值。该表很简单,只有两列 - idcategory

以下将检索所有记录(类别)但返回一个对象而不是数组,这是我需要的下拉代码 -

$categories = Category::all();

下拉的代码是:

{{ Form::select('category', $categories, $post->category_id) }}

想法?

更新

bgallagh3r 建议使用 foreach 循环将每个类别转换为数组。他们的代码让我很接近,但生成了一堆时髦的嵌套 optgroup 标签。我能够将它减少到只有一个 optgroup 但那太多了..

$categories = Category::all();
foreach ($categories as $cat)
{
$category = $cat->to_array();
$id = $category['id'];
$value = $category['category'];
$cats[] = array($id => $value);
}

然后,在表单中:

{{ Form::select('categories', $categories)}}

我最终得到了这个 HTML:

    <select name="categories">
<optgroup label="0">
<option value="1">Department News</option>
</optgroup>
<optgroup label="1">
<option value="2">General</option>
</optgroup>
...
</select>

最佳答案

您可以尝试“列表”功能:

$categories = Category::lists('category', 'id');

(仅适用于 Laravel 3)或者甚至省略“id”参数,因为它将默认为 Model 键,请参阅 http://laravel.com/api/source-class-Laravel.Database.Query.html#596

$categories = Category::lists('category');

(对于 Laravel 4,您确实需要第二个参数,请参阅 http://laravel.com/api/source-class-Illuminate.Database.Query.Builder.html#1034-1063)

关于php - 使用数据库表中的值生成下拉列表输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14221444/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com