Intereting Posts
Средневзвешенное значение Простой DOM file_get_html ничего не возвращает разность дат времени в php и mysql Многомерный массив PHP – поиск значения и получение подматрицы Определение URL-адреса объекта данных – Silverstripe 3.1 Вставьте один или несколько наборов полей в базу данных с помощью динамической формы Ошибка синтаксиса SQL Версия сервера MariaDB для правильного синтаксиса для использования рядом с 'WHERE ID = 4' в строке 1 Редактирование модели Laravel / Ardent / User + сохранение Является ли хорошей практикой инициализировать элементы в ассоциативном массиве в php? Отслеживание впечатлений от баннеров – дизайн базы данных Выдержка извлечения PHP из страницы расширение phpseclib или ssh2 pecl Используются некоторые переменные PHP, не появляющиеся при использовании нашей контактной формы Как загрузить контроллер с другого контроллера в codeigniter? Является ли плохая практика для модели называть себя внутри себя?

Laravel 4: передать сообщения проверки, полученные из хранилища для контроллера

Узнав о Ioc и Хранилищах и, наконец, застрял!

Предполагая, что я проверяю ввод данных, как мне передать сообщения от Validator в репозитории на контроллер?

UserRepository

interface UserRepository { public function all(); public function create($input); public function findById($id); } 

Sentry2UserRepository

 class Sentry2UserRepository implements UserRepository { ... public function create($input) { $validation = Validator::make($input, User::$rules); if ($validation->passes()) { Sentry::createUser( array_except( $input, ['password_confirmation'])); // Put something here to tell controller that user has been successfully been created return true; } else { // pass back to controller that validation has failed // with messages return $validation->messages(); ????? } ... 

Мой UserController

 UserController extends BaseController { ... public function postRegister() { $input['first_name'] = Input::get('first_name'); $input['last_name'] = Input::get('last_name'); $input['email'] = Input::get('email'); $input['password'] = Input::get('password'); $input['password_confirmation'] = Input::get('password_confirmation'); // Something like if ($this->user->create($input)) { Session::flash('success', 'Successfully registered'); return Redirect::to('/'); } else { Session::flash('error', 'There were errors in your submission'); return Redirect::to('user/login')->withErrors()->withInput(); } } ... } 

Только 1,5 недели в Ларавеле, поэтому, пожалуйста, успокойся.

Предполагая, что ваш репозиторий отлично работает для вас:

 class Sentry2UserRepository implements UserRepository { public $validation; public function create($input) { $this->validation = Validator::make($input, User::$rules); if ($this->validation->passes()) { Sentry::createUser( array_except( $input, ['password_confirmation'])); // Put something here to tell controller that user has been successfully been created return true; } else { // pass back to controller that validation has failed // with messages return false; } } } 

Тогда вам просто нужно получить доступ к нему в вашем контроллере, используя

 $this->user->validation->messages()