Я хочу получить зарегистрированного пользователя в моем контроллере - PullRequest
0 голосов
/ 11 июля 2019

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

$request->user(); or Auth::user();

Возвращает ноль.

Как передать данные из моего компонента vuejs в контроллер?

Итак, вот мой компонент Vue

Form.vue

data() {
 return {
  form:{
    title: '',
    seo_title: '',
    excerpt: '',
    body: '',
    image: '',
    meta_description: '',
    meta_keywords: '',
    category_id: '',
    status: '',
    featured: ''
  }
 },
 methods: {
   save() {
     post(this.storeURL, form)
        .then((res) => {
          this.$router.push('Post created successfully')
        })
   }
 }
}

PostController.php

$filename = $this->getFileName($request->image);
$request->image->move(public_path('storage/posts/'), $filename);

$article = new Post($request->all());

$article->slug = str_slug($request->title, '-');
$article->image = $filename;

$request->user()->posts()->save($article);

return response()
   ->json([
     'saved' => true,
     'id' => $article->id,
     'message' => 'You have successfully posted an article!'
   ]);

1 Ответ

0 голосов
/ 11 июля 2019

Если аутентифицированный пользователь имеет значение null, скорее всего, вы не прошли этот маршрут через промежуточное ПО аутентификации. В вашем файле web.php (или api.php, если это маршрут API) убедитесь, что какой-либо используемый вами маршрут находится внутри этого промежуточного программного обеспечения. Так, если это, например, маршрут postCreate, он может выглядеть примерно так:

Route::group(['middleware' => ['auth']], function () {

    Route::get('yourPostCreateRoute', 'YourPostController@index');
    // etc.
}
...