使用数据库查询结果填充下拉列表

时间:2014-11-24 08:13:46

标签: php html mysql laravel-4

首先,我在Laravel非常环保。因此,如果我使用任何错误的术语或者没有掌握一些对你们显而易见的东西,请考虑这一点。 我试图用数据库查询的结果填充下拉列表。

下拉条目的模型:

  Class Dropdown {

    public static function getFilters() {
          $filter = DB::select(DB::raw('SELECT DISTINCT filter AS filt
                                    FROM filter.database'));
    return $filter;
    }

  }

控制器:

  class FilterController extends BaseController {
       public function getSql_Test() {
            $dropdown = Dropdown::getFilters();
            return View::make('Dropdown.show', ['Dropdown' =>$dropdown]);
       }
  }

我的控制器现在完成的是在页面上显示查询结果(我想填充下拉列表)。有人可以帮助我如何将这些条目传递到这里的选择标签并在我的视图中显示它吗?

1 个答案:

答案 0 :(得分:1)

这很容易做到,而且很有趣(因为它容易)!

$filter = DB::table('filter.database')->select(DB::raw('DISTINCT(filter) AS filt'))
    ->lists('filt');

这将为您提供一个数组,其中键是一个整数,值是您的过滤器。

$filter = DB::table('filter.database')->select(DB::raw('DISTINCT(filter) AS filt'))
    ->lists('filt', 'filt');

这将为您提供一个数组,其中键为filt,值为filt。

您可以使用变量扩展视图,将其推入视图中:

return View::make('Dropdown.show')->with('dropdown', $dropdown);

现在你可以进行选择,只需按下应该是值的数组:

echo Form::select('size', $dropdown);

可在此处找到更多信息:

http://laravel.com/docs/4.2/queries#selects

作为提示,留在laravel文档。他们是一种与之合作的享受。