2013-02-08 5 views
0

Чтобы использовать форму :: select, вам нужно добавить имя и два массива.Лучший способ сделать выбор в laravel?

В нормальном случае у нас есть один с 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())); 

ответ

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(); 
} 
+0

Нет, я пробовал раньше. –

+0

Возможно, я ошибаюсь, но я думаю, что to_array для красноречия. – David

0

Я попробовал этот вариант:

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

В шаблоне:

{{ Form::select('project', $projects) }} 
Смежные вопросы