V4n1ll4
V4n1ll4

Reputation: 6099

Laravel-5 using fill() to update database

I'm trying to use fill() to update a current row in the database. However, it seems to be creating a new row instead of updating each time.

Does anyone know what could be wrong?

Here's my code:

$reserve->where('cookie_id', 'idCode')->first();
$reserve->fill($request->all())->save();

return Redirect::to('checkout');

Upvotes: 0

Views: 11734

Answers (2)

pl4g4
pl4g4

Reputation: 101

Try something similar to this

$user = User::where ('cookie_id', 'idCode'); 
$new_user_data = $request->all();
$user->fill($new_user_data);
$user->save();

You can also try using update()

$affectedRows = User::where('votes', '>', 100)->update($request->all());

Upvotes: 3

Wader
Wader

Reputation: 9883

Judging by your code you've misunderstood how to fetch an instance out the database. See http://laravel.com/docs/5.1/eloquent#retrieving-single-models

Try the following

$reserve = Reserve::where('cookie_id', $id)->first();

$reserve->fill($request->input())->save();

return redirect()->to('checkout');

Upvotes: 2

Related Questions