Why am I getting an integer not an array?

Viewed 59

I am trying to push $user_id into an array and store it in a database.

But when I dd($children) I get an integer value, not an array. What am I doing wrong?

if($user->hasRole(['guardian','learner'])){
    $user_id = $user->id;
    $db =  Auth::user()->related;
    $children = array_push($db, $user_id);
    dd($children);

    return redirect()
        ->route('parent-child.index')
        ->with('message', $user->name . ' has been added Successfully');
}
1 Answers

Try the following code:

if($user->hasRole(['guardian','learner'])){
    $db = []; //declare $db as an array
    $user_id = $user->id;
    $db =  Auth::user()->related;
    array_push($db, $user_id);
    $children = $db;
    dd($children);

    return redirect()
        ->route('parent-child.index')
        ->with('message', $user->name . ' has been added Successfully');
}
Related