как обновить значение в одном столбце и автоматически обновить другой столбец в другой таблице laravel - PullRequest
0 голосов
/ 30 апреля 2020

я пытаюсь обновить значение имени в таблице student и автоматически обновляется в имени столбца у пользователей таблицы

мой код контроллера:

public function update(Request $request, $id)
    { 
        $user = User::where('id', $id)->first();
        $user->name = $request->name;
        $user->save();

        $student= Student::where('id', $id)->first();
        $student->name = $request->name;
        $student->save();

       return redirect()->route('profilestudent.edit', Auth::user()->student->id);
   }

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

Ответы [ 2 ]

0 голосов
/ 01 мая 2020

Вы должны использовать наблюдателей. Когда пользователь обновляется, ученик также автоматически обновляется.

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

Вы можете попробовать с мутаторами :

class User extends Model
{
    public function setNameAttribute($value)
    {
        $student= Student::where('user_id', $this->id)->first() if id is not key in Student
        $student->name = $value;
        $student->save();
        $this->attributes['first_name'] = $value;
    }
}
...