Как вставить данные таблицы таблицы с идентификатором пользователя в laravel?

Таким образом, моя новостная форма очень проста:

<div class="row padding-10"> {!! Form::open(array('class' => 'form-horizontal margin-top-10')) !!} <div class="form-group"> {!! Form::label('title', 'Title', ['class' => 'col-md-1 control-label padding-right-10']) !!} <div class="col-md-offset-0 col-md-11"> {!! Form::text('title', null, ['class' => 'form-control']) !!} </div> </div> <div class="form-group"> {!! Form::label('body', 'Body', ['class' => 'col-md-1 control-label padding-right-10']) !!} <div class="col-md-offset-0 col-md-11"> {!! Form::textarea('body', null, ['class' => 'form-control']) !!} </div> </div> <div class="col-md-offset-5 col-md-3"> {!! Form::submit('Submit News', ['class' => 'btn btn-primary form-control', 'onclick' => 'this.disabled=true;this.value="Sending, please wait...";this.form.submit();']) !!} </div> {!! Form::close() !!} 

Это обрабатывается NewsProvider:

  public function store() { $validator = Validator::make($data = Input::all(), array( 'title' => 'required|min:8', 'body' => 'required|min:8', )); if ($validator->fails()) { return Redirect::back()->withErrors($validator)->withInput(); } News::create($data); return Redirect::to('/news'); } 

Но у меня есть другое поле, а не только тело заголовка и текста в базе данных, которое является author_id, и я понятия не имею, как добавить информацию, например идентификатор пользователя из текущего пользователя, прошедшего проверку подлинности, который не был предоставлен по форме. Я знаю, как добавить скрытый ввод в форму с идентификатором пользователя, но тогда кто-то может изменить значение скрытого поля. Как мне сделать правильный путь?

Возможно, мне нужно каким-то образом отредактировать мою красноречивую модель новостей, а именно:

 use Illuminate\Database\Eloquent\Model as Eloquent; 

класс News extends Eloquent {

  // Add your validation rules here public static $rules = [ 'title' => 'required|min:8', 'body' => 'required|min:8', ]; // Don't forget to fill this array protected $fillable = array('title', 'body'); } 

Вы всегда можете получить текущий аутентифицированный пользователь Auth::user() . И вы можете также изменить массив $data прежде чем передавать его для create . Вот как вы это делаете:

 $data['author_id'] = Auth::user()->id; News::create($data); 

Также не забудьте добавить author_id к fillable атрибутам

 protected $fillable = array('title', 'body', 'author_id);