Wenn ich versuche, die E-Mail-Spalte für den Benutzer zu aktualisieren, erhalte ich eine seltsame Eingabe in der Datenbank und verstehe nicht warum. Die Ausgabe in der E-Mail-Spalte in der Datenbank sieht ungefähr so aus {"email":"try@gmail.com"}
anstatt nur der E-Mail
HomeController
protected function createMail(Request $request)
{
$data = request()->validate([
'email' => 'required',
]);
$id = Auth::guard('web')->id();
User::where('id', $id)->update(['email' => $data]);
}
2 Antworten
$data
wird in Ihrem Fall als Ergebnis der Funktion ->validate()
definiert, Sie benötigen jedoch den Wert von E-Mail.
Auf den Wert kann mit $request->get('email')
zugegriffen werden.
Ihre Funktion sollte also folgendermaßen aussehen:
protected function createMail(Request $request)
{
$this->validate($request, [
'email' => 'required',
]);
$id = Auth::guard('web')->id();
User::where('id', $id)->update(['email' => $request->get('email')]);
}
Sie aktualisieren den falschen Wert und es sollte so sein
protected function createMail(Request $request)
{
$this->validate($request, [
'email' => 'required',
]);
$id = Auth::guard('web')->id();
User::where('id', $id)->update(['email' => $request->get('email')]);
}
Wie Sie sehen, request->get('email')
anstelle von ['email' => $data]
Neue Fragen
php
PHP ist eine weit verbreitete, übergeordnete, dynamische, objektorientierte und interpretierte Skriptsprache, die hauptsächlich für die serverseitige Webentwicklung entwickelt wurde. Wird für Fragen zur PHP-Sprache verwendet.