Laravel - User model returns null in een controller functie
Ik ben Laravel aan het leren en ik volg een tutorial van Laracasts waarin ik een clone van Twitter maak.
Ik heb een FollowController.php file, met de volgende code:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\User as User;
class FollowController extends Controller
{
public function store(User $user)
{
return $user;
}
}
[/code]
In mijn routes/web.php file heb ik een redirect naar deze store-functie als er een post request binnenkomt:
[code]
Route::post('/follow', 'FollowController@store')->name('follow');
[/code]
Hier wordt de post request aangemaakt (views/profile/show.blade.php):
[code]
<form action="{{ route('follow', $user->id) }}" method="post">
@csrf
@if($user->id == 1)
<button type="submit" class="btn-edit">Edit Profile</button>
@else
<button type="submit" class="btn-follow">Follow</button>
@endif
</form>
[/code]
Het vreemde is dat als ik op de knop klik, er een post request wordt gestuurd maar ik null terugkrijg. Weet iemand hoe ik dit kan oplossen?
PS: Ik wil het User-Object terugkrijgen van de gebruiker waar deze gebruiker op heeft geklikt.
Voorbeeld: Ik ben User1, ik klik op volgen bij User14 dan wil ik het User-Object van User14 in mijn controller.
Alvast bedankt!
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\User as User;
class FollowController extends Controller
{
public function store(User $user)
{
return $user;
}
}
[/code]
In mijn routes/web.php file heb ik een redirect naar deze store-functie als er een post request binnenkomt:
[code]
Route::post('/follow', 'FollowController@store')->name('follow');
[/code]
Hier wordt de post request aangemaakt (views/profile/show.blade.php):
[code]
<form action="{{ route('follow', $user->id) }}" method="post">
@csrf
@if($user->id == 1)
<button type="submit" class="btn-edit">Edit Profile</button>
@else
<button type="submit" class="btn-follow">Follow</button>
@endif
</form>
[/code]
Het vreemde is dat als ik op de knop klik, er een post request wordt gestuurd maar ik null terugkrijg. Weet iemand hoe ik dit kan oplossen?
PS: Ik wil het User-Object terugkrijgen van de gebruiker waar deze gebruiker op heeft geklikt.
Voorbeeld: Ik ben User1, ik klik op volgen bij User14 dan wil ik het User-Object van User14 in mijn controller.
Alvast bedankt!
Ik hoop dat dat is wat je zoekt!
EDIT:
Als je op het profiel bent van de gebruiker die je wilt volgen, dan neem ik aan dat dat id van die specifieke user aanwezig is in de url, en dat je die kan gebruiken bij `$user = User::findOrFail($id)` op de manier in het eerdere bericht van mij, kan je dat user object in de return view functie meegeven!
Gewijzigd op 28/05/2020 22:15:26 door Jorn Reed