DEV Community

Discussion on: Let's build a super simple referral system with Laravel

Collapse
 
legaciespanda profile image
Ernest Obot • Edited

Observation One

$referrer = User::whereUsername(session()->pull('referrer'))->first(); //Giving issues

should be
$session_data = session()->pull('referrer');
$referrer = User::whereUsername($session_data )->first();
//Fixed

I observed that laravel was having difficulty retrieving the referrerfrom the session and querying the database at the same time which was giving error when getting the id. The solution was to first get the referrer value from the session and pass it to the eloquent.

Observation 2
'referrer_id' => $referrer ? $referrer->id : null,

This is because $referrer does not return a boolean value instead a user object. So using it this way will return an error and of course logical error.

What I did in my case, was to check that referrer value from session was not null.

Should be
'referrer_id' => $session != null ? $referrer->id : null,

or
'referrer_id' => !is_null($session) ? $referrer->id : null,