在laravel中选择的最佳方式?

时间:2013-02-08 13:49:13

标签: laravel fluent

为了使用Form :: select,您需要添加一个名称和两个数组。

在正常情况下,我们有一个带有id,另一个带有名称。两者都需要从查询中加载。

所以在模型中我有这样的东西:

public static function get_ids()
{
    //return DB::query('select id FROM __roles');
    return DB::table('roles')->get(array('id'));
}

//Returns an array with all the names
public static function get_names()
{
    //return DB::query('select name FROM __roles');
    return DB::table('roles')->get(array('name'));
}

然而,这给了我这个:

Array ( [0] => stdClass Object ( [id] => 1 ) [1] => stdClass Object ( [id] => 2 ) [2] => stdClass Object ( [id] => 3 ) )

我想得到这样的东西:

Array ( [0] => '1'  [id] => '2' [id] => '3' )

表格

Form::select('role', array(Role::get_ids(), Role::get_names())); 

2 个答案:

答案 0 :(得分:0)

这有用吗?

public static function get_ids()
{
    //return DB::query('select id FROM __roles');
    return DB::table('roles')->get(array('id'))->to_array();
}

//Returns an array with all the names
public static function get_names()
{
    //return DB::query('select name FROM __roles');
    return DB::table('roles')->get(array('name'))->to_array();
}

答案 1 :(得分:0)

我尝试了这个选项:

 $projects = Project::where('user_id', Auth::user()->id)->lists('name', 'id');

在模板中:

{{ Form::select('project', $projects) }}