簡體   English   中英

Laravel嘗試獲取用戶ID以存儲到帖子表中

[英]Laravel trying to get user id to store into posts table

public function store(Request $request)
{
   $this->validate($request, array(
       'title' => 'required|max:255|min:2',
       'slug' => 'required|alpha_dash|unique:articles,slug',
       'category_id' => 'required|integer',
       'content' => 'required|min:2'
   ));

   $article = new Article;
   $article->title = $request->title;
   $article->slug = $request->slug;
   $article->category_id = $request->category_id;

   $article->content = $request->content;
   $article->save();

   Session::flash('success', 'Your article has been published.');
   return redirect()->route('article.show', $article->id);
}

文章表上有一個user_id列,

這是我的存儲功能,但是當我創建帖子時,我正在尋找一種將登錄的用戶ID存儲到articles表中的user_id列的方法。

獲取auth用戶。

$article->user_id = Auth::user()->id;
$article->save();

簡單

$article->user_id = Auth::user()->id;

它將已認證的用戶ID存儲在商品表的user_id字段中。

根據您的情況,將您的商店代碼更改為

public function store(Request $request)
{
   $this->validate($request, array(
       'title' => 'required|max:255|min:2',
       'slug' => 'required|alpha_dash|unique:articles,slug',
       'category_id' => 'required|integer',
       'content' => 'required|min:2'
   ));

   $article = new Article;
   $article->title = $request->title;
   $article->slug = $request->slug;
   $article->category_id = $request->category_id;
   //it will store the current logged in user id in user_id field
   $article->user_id = Auth::user()->id;

   $article->content = $request->content;
   $article->save();

   Session::flash('success', 'Your article has been published.');
   return redirect()->route('article.show', $article->id);
}

但是還有另一種方法,甚至不使用名稱空間和全部。

您可以使用以下代碼解決此問題:

$article->user_id =  auth()->user()->id;

代替:

$article->user_id = Auth::user()->id;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM