J'ai expérimenté avec Laravel - et j'ai rencontré un problème avec la sauvegarde/mise à jour d'un enregistrement (description d'un utilisateur). J'ai basé le code sur certains qui fonctionnent - donc je suis un peu confus quant à ce que j'ai raté.Enregistrer/mettre à jour des problèmes dans Laravel
Je peux faire un changement en utilisant php tinker (et cela se reflète sur la page - donc ce n'est pas une base de données) - mais en utilisant le site lui-même, laravel n'enregistre aucun texte entré dans le formulaire.
Ce ne sont pas les dossiers complets - tout ce que je ressens est probablement pertinent
Merci! :)
PS - Il est en silence à défaut, d'où la frustration et la nécessité d'un poste de débordement de pile :)
Form élément pour changer la description
{!! Form::model($user, ['method' => 'PATCH', 'action' => ['[email protected]', $user->id]]) !!}
{!! Form::text('description', null, ['class' => 'form-control']) !!}
{!! Form::submit('save', ['class' => 'btn btn-success']) !!}
{!! Form::close() !!}
UserController
public function store(EditUserRequest $request)
{
$user = new User($request->all());
Auth::user()->users()->save($user);
return redirect('home');
}
public function edit(User $user)
{
// if owner is posts creator (collection id matches user id)
if ($user->id == Auth::user()->id) {
return view('home');
} else {
return redirect('home');
}
}
public function update(User $user, EditUserRequest $request)
{
// if owner is posts creator (collection id matches user id)
if ($user->id == Auth::user()->id) {
$user->update($request->all());
return redirect('home');
} else {
return redirect('home');
}
}
EditRequestController
<?php
namespace App\Http\Requests;
use App\Http\Requests\Request;
class EditUserRequest extends Request
{
public function authorize()
{
return true;
}
public function rules()
{
return [
'description' => 'required',
];
}
}
dd ($ user)
User {#142 ▼
#fillable: array:3 [▼
0 => "name"
1 => "email"
2 => "password"
]
#hidden: array:2 [▼
0 => "password"
1 => "remember_token"
]
#connection: null
#table: null
#primaryKey: "id"
#perPage: 15
+incrementing: true
+timestamps: true
#attributes: array:9 [▼
"id" => 1
"name" => "Oliver Williams"
"email" => "[email protected]"
"description" => "lorem ipsum nonsense"
"password" => "$2y$10$c65lDNJ0V8ibYT4QD6cnk.HmXPwBqlskHWzOzKi1vOlNKVR48y0iS"
"remember_token" => "1e6Il0T1rjQQMKSAn09Gd8FLdh0CcYTs4Xd7B6IYUp02rNJ9IpSpV374kwRg"
"created_at" => "2016-02-17 23:37:39"
"updated_at" => "2016-02-18 00:48:44"
"time" => "0000-00-00 00:00:00"
]
#original: array:9 [▼
"id" => 1
"name" => "Oliver Williams"
"email" => "[email protected]"
"description" => "lorem ipsum nonsense"
"password" => "$2y$10$c65lDNJ0V8ibYT4QD6cnk.HmXPwBqlskHWzOzKi1vOlNKVR48y0iS"
"remember_token" => "1e6Il0T1rjQQMKSAn09Gd8FLdh0CcYTs4Xd7B6IYUp02rNJ9IpSpV374kwRg"
"created_at" => "2016-02-17 23:37:39"
"updated_at" => "2016-02-18 00:48:44"
"time" => "0000-00-00 00:00:00"
]
#relations: []
#visible: []
#appends: []
#guarded: array:1 [▼
0 => "*"
]
#dates: []
#dateFormat: null
#casts: []
#touches: []
#observables: []
#with: []
#morphClass: null
+exists: true
+wasRecentlyCreated: false
}
dd ($ user-> update ($ request-> all()));
true
Pouvez-vous 'dd ($ user-> update ($ request-> all()))' et 'dd ($ user)'? –
Ajouté au bas de la publication - j'espère que je l'ai fait correctement - n'était pas tout à fait sûr de ce que je regardais tbh :) – Ollie
Cela signifie, '$ user-> update ($ request-> all())' était un succès. 'dd ($ user)' montre l'objet Utilisateur. –