Laravel控制器/商店

时间:2019-06-11 06:14:09

标签: laravel

我是laravel的新手,我正在尝试将推文存储到数据库中,我需要插入用户ID,但这给我一个错误  

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Tweet;

class TweetController extends Controller
{

   public function store(Request $request){

return Tweet::create([ 'tweet' => request('tweet'), 'user_id' => Auth::id()]);

    }
}

我收到错误消息:

  在文件中找不到

App \ Http \ Controllers \ Auth'   /Applications/AMPPS/www/Twitter/Twitter/app/Http/Controllers/TweetController.php

有什么主意吗?

2 个答案:

答案 0 :(得分:2)

是的,您缺少导入,这就是为什么它试图在Controller位置找到它的原因,所以放

use Illuminate\Support\Facades\Auth;

// or 

use Auth; // you must have the Auth alias in the config/app.php array

作为导入,或改为使用辅助函数auth()->id()

因此,除了批量分配用户外,您还可以执行以下操作,在User模型中添加以下内容:

public function tweets()
{
    return $this->hasMany(Tweet::class);
}

然后在您的控制器中执行以下操作:

auth()->user()->tweets()->create([ 'tweet' => request('tweet') ]);

答案 1 :(得分:1)

您可以使用auth()帮助器获取用户ID:

auth()->user()->id