填充选择元素

时间:2013-05-21 12:24:00

标签: laravel laravel-4 eloquent

我想使用<select>表中的结果填充categories元素。为此,我使用以下代码。

$catlist = Categories::where('type','=',$content_type)
           ->get(array('id','name'))->toArray(); 

结果结构是一个行数组。

array
  0 => 
   array
      'id' => int 1
      'name' => string 'article' 
  1 => 
   array
     'id' => int 2
     'name' => string 'news' 

foreach声明肯定能解决我的问题,但我正在寻找更好的解决方案。

2 个答案:

答案 0 :(得分:12)

您可以使用lists(string $column [, string $key ])方法,在文档中的"Retrieving A List Of Column Values"下找到...

$catlist = Category::where('type', $content_type)->lists('name');

答案 1 :(得分:0)

尝试在您的类别模型上添加静态功能

public static function genlist()
{
    $catlist = [];
    foreach (self::all() as $cat)
    {
        $catlist[$cat->id] = $cat->name;
    }
    return $catlist;
}

视图

{{ Form::select('cat_id', Category::genlist()) }}

这对我有用,希望对你也有用