2013-08-18 3 views
2

Я пытаюсь сделать простую проверку подлинности, и у меня есть форма входа/регистрации и она работает правильно. Однако у меня возникают проблемы с заполнением раскрывающегося поля для почтового индекса из другой таблицы. Я не совсем уверен, как я должен подходить к этому. Большую часть времени я просто использовал бы прямой запрос mysql, но я предполагаю, что есть более простой способ.Laravel 4 получение информации из базы данных для раскрывающегося списка

Контроллер: (хотел бы за стол zip_code ехать сюда.)

 public function getSignUp() { 
      $userdata = array(
      'email' => Input::get('email'), 
      'password' => Hash::make(Input::get('password')) 
      ); 
      $user = new User($userdata); 
      $user->save(); 

      return Redirect::to('dashboard'); 
    } 

Маршрут

Route::post('signup', '[email protected]'); 

signup.blade.php

  {{ Form::label('email', 'Email:') }}<br /> 
     {{ Form::text('email') }}<br /> 
     {{ Form::label('password', 'Password:') }}<br /> 
     {{ Form::password('password') }}<br /> 
     {{ Form::label('zip_code', 'Zip Code:') }}<br /> 
     {{ Form::select('zip_code', array('zip_code' => '', 'city' => '')); }}<br />  
     {{ Form::submit() }}<br /> 
{{ Form::close() }} 

Это, как я обычно называю информацию из базы данных до этого

 public function showHome() 
{ 
      $testimonials = DB::select('SELECT * FROM `testimonials` WHERE `id`=' . mt_rand(1, 2)); 
      return View::make('home.index', array('pageTitle' => 'Home'))->with('testimonials', $testimonials); 
} 

но со мной не возвращающим вида и для них переменных не будет передаваться я не знаю, как достичь этих

Любых консультаций будет высоко оценен!

+0

Вы не собираетесь отображать почтовые индексы по каждому запросу на '/ dashboard'? Если да, почему бы просто не взять его на свой собственный контроллер? Если нет, то почему? – rmobis

ответ

7

Вы можете легко перечислить данные из модели Eloquent для поля выбора с помощью функции lists().

Testimonial::lists('content', 'id'); 
+0

Для любопытных, почему поле «id» указано в секундах, это потому, что второй параметр в методе 'lists()' используется для указания настраиваемого столбца ключа. Подробнее [здесь] (http://laravel.com/docs/queries#selects). – Jonathan

Смежные вопросы