Сохранить текущий зарегистрированный идентификатор пользователя в базе данных - PullRequest
0 голосов
/ 22 января 2020

Я работаю над определенными моделями в моем приложении, в моем контроллере пользователя мне нужно магазин, вошедший в систему с идентификатором пользователя, чтобы знать, кто создает / редактирует определенную модель, в пользователе у меня есть этот код

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\User;
use Auth;
use File;

class UserController extends Controller
{

    /**
     * Create a new controller instance.
     * @return void
     */
    public function __construct()
    {
        $this->middleware('auth');
    }

    /**
     * Store a newly created resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Http\Response
     */
    public function store(Request $request)
    {
        // Verificamos si el email existe y otros datos del usuario
        $user = Auth::user();

        $request->validate([
            // {...}
            'created_by' => 'required|string'
        ]);

        $created_by = Auth::user()->id;

        User::create($request->all());

        return redirect()->route('user.index')->with('user-created','Usuario creado exitosamente.');
    }

    /**
     * Update the specified resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function update(Request $request, $id)
    {
        // Verificamos si el email existe y otros datos del usuaro
        $user = Auth::user();

        // Validamos datos
        $data = $this->validate($request, [
            // {...}
        ]);

        // Recogemos los campos del usuario
        // {...}
        $modified_by    = Auth::user()->id;

        $user->fill($data);
        $user->save();

        return redirect()->route('user.show', $user->id)->with(['user-updated' => 'Usuario actualizado correctamente']);
    }
}

В коде вы можете увидеть любые методы ресурсов по умолчанию для управления пользователями. Например:

Если пользователь с ID 1 и может создать / редактировать пользователя (или другую модель), сохраните идентификатор в created_by, modified_by полевая база данных

Ответы [ 3 ]

0 голосов
/ 22 января 2020

Вы можете вызвать идентификатор пользователя, используя auth Auth::user()->id

, вы также можете вызвать любой столбец вашего пользователя, используя Auth, просто измените идентификатор.

0 голосов
/ 22 января 2020

Я предположил, что в таблице users .

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\User;
use Auth;
use File;

class UserController extends Controller
{

    /**
     * Create a new controller instance.
     * @return void
     */
    public function __construct()
    {
        $this->middleware('auth');
    }

    /**
     * Store a newly created resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Http\Response
     */
    public function store(Request $request)
    {
        // Verificamos si el email existe y otros datos del usuario
        $user = Auth::user();

        $request->validate([
            // {...}
            'created_by' => 'required|string'
        ]);


       //for example you have firstname, lastname, age, and address columns in your users table
        $created_by = Auth::user()->id;
        User::create([
            'firstname' => $request->firstname,
            'lastname' => $request->lastname,
            'age' => $request->age,
            'address' => $request->address,
            'created_by' => $created_by
        ]));

        return redirect()->route('user.index')->with('user-created','Usuario creado exitosamente.');
    }

    /**
     * Update the specified resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function update(Request $request, $id)
    {
        // Verificamos si el email existe y otros datos del usuaro
        $user = Auth::user();

        // Validamos datos
        $data = $this->validate($request, [
            // {...}
        ]);

        // Recogemos los campos del usuario
        // {...}
        $modified_by    = Auth::user()->id;

        User::find($id)->update([
             'firstname' => $request->firstname,
             'lastname' => $request->lastname,
             'age' => $request->age,
             'address' => $request->address,
             'modified_by' => $modified_by
         ]));


        return redirect()->route('user.show', $user->id)->with(['user-updated' => 'Usuario actualizado correctamente']);
    }
}
есть столбец create_by и ified_by .
0 голосов
/ 22 января 2020

если вам нужен только идентификатор, вы можете использовать Auth :: id ()

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...