Обновление значения в базе данных - PullRequest
0 голосов
/ 11 апреля 2020

Как я мог в Laravel, иметь возможность обновлять значение из базы данных в соответствии с именем пользователя?

Контроллер:

public function update_Profile(Request $request) {
    $user = User::find(Auth::user()->id);
    $user->email = request('email');
    $user->about = request('about');
    $user->skills = request('skills');
    $user->hobbies = request('hobbies');
    $user->name = request('name');
    $user->password = bcrypt(request('password'));
    $user->phoneNumber = request('phoneNumber');
    $user->adress = request('adress');
    $user->nationality = request('nationality');
    $user->age = request('age');
    $user->facebook = request('facebook');
    $user->instagram = request('instagram');
    $user->twitter = request('twitter');
    $user->linkedin = request('linkedin');
    $user->avatar = request('avatar');
    if($user->save()) {
        return view('profile', array('user'=> Auth::user()))->with('success', 'Question successfully added');
    }
    else if(!$user->save()) {
        return view('profile', array('user'=> Auth::user()))->with('danger', 'Something went wrong');
    }

Просмотр ::

<form method="post" class="tab-pane" id="adminpanel" action="{{route('profile')}}">
                {{ csrf_field() }}
                <div class="form-group row">
                    <label class="col-lg-3 col-form-label form-control-label">Input user ID/Name</label>
                    <div class="col-lg-9">
                        <input class="form-control" type="usrName" name="usrName" value="">
                    </div>
                </div>
                <div class="form-group row">
                    <label class="col-lg-3 col-form-label form-control-label">UserAcces</label>
                    <div class="col-lg-9">
                        <input class="form-control" type="userAcces" name="userAcces" value="">
                    </div>
                </div>
            </form>

Например, после того, как я поместил имя и значение в поле для обновления для этого пользователя.

Ответы [ 2 ]

0 голосов
/ 11 апреля 2020

вы можете попробовать это

$userData = array();
$userData['email'] = request('email');
.....
$userData['avatar'] = request('avatar');

$update = DB::table('Table_Name')->where(['columnName'=>Auth::user()->FieldName])->update($userData);

или

$update = DB::table('Table_Name')->where(['columnName'=>request('usrName'))->update($userData);
0 голосов
/ 11 апреля 2020

Вам просто нужно найти этого пользователя в базе данных по правильному столбцу. Это основа c Красноречивая функциональность. Пожалуйста, прочитайте документы (https://laravel.com/docs/7.x/eloquent).

На основании вашего кода и формы вместо

User::find(Auth::user()->id);

это будет:

User::where('name', request('usrName'))->first();

Но есть также проблема с формой:

<input class="form-control" type="usrName" name="usrName" value="">

В HTML нет такого типа ввода, как usrName. Это должен быть «текст».

<input class="form-control" type="text" name="usrName" value="">
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...