获取经过身份验证的用户的名称并将其存储

我有一个表格,您可以在其中提交“项目”。该字段之一是“创建者”,但是用户不会更新它,它会在那一刻获取经过身份验证的用户的名称,并将其插入到数据库中。


我知道如何检索用户名,但是问题是,当我与另一个用户登录时,所有名称都会更改,因为我每次都存储该名称。这是我的项目负责人


<?php 


namespace App\Http\Controllers;


use App\Project;

use App\Client;

use Auth;

use Illuminate\Http\Request;


class ProjectController extends Controller

{

    /**

     * Display a listing of the resource.

     *

     * @return \Illuminate\Http\Response

     */


    public function __construct()

    {

        $this->middleware('auth');


    }




    public function index()

    {

        return view('projects.index', [

            'project' => Project::all()

        ]);

    }


    /**

     * Show the form for creating a new resource.

     *

     * @return \Illuminate\Http\Response

     */

    public function create()

    {

        if (Auth::user()->role != 1){

            return redirect()->back();

        }else{


        return view('projects.create',[

            'project' => new Project,

            'client' => new Client

        ]);

        }

    }


    /**

     * Store a newly created resource in storage.

     *

     * @param  \Illuminate\Http\Request  $request

     * @return \Illuminate\Http\Response

     */

    public function store(Request $r)

    {


        $validatedData = $r->validate([

            'proj_title' => 'required|max:100',

            'client_id' => 'required',

            'proj_desc' => 'required',

        ]);




        $currentUser = Auth::user()->name;


        $r['created_by'] = $currentUser;




        $project = Project::create($r->all());

        return redirect('/projects')->with('store','');


    }


    /**

     * Display the specified resource.

     *

     * @param  \App\Project  $project

     * @return \Illuminate\Http\Response

     */

    public function show(Project $project)

    {

        //

    }


    /**

     * Show the form for editing the specified resource.

     *

     * @param  \App\Project  $project

     * @return \Illuminate\Http\Response

     */

    public function edit(Project $project)

    {

        return view('projects.edit', compact('project'));

    }


   

九州编程
浏览 154回答 1
1回答

白衣染霜花

我认为您的问题是您正在使用:{{&nbsp;$project->Auth::user()->name&nbsp;}}代替{{&nbsp;$project->created_by&nbsp;}}
打开App,查看更多内容
随时随地看视频慕课网APP