Level 54
I assume you have
public function getroles($userid)
{
}
in your roles class.
you need to make it static if you want to call it that way
public static function getroles($userid)
{
}
Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.
Hi!
Havent change anything here, but today i get this error message
Error
Non-static method App\Models\Role::getroles() cannot be called statically
http://127.0.0.1:8000/roller
This is the line, it doent want ???
$roller = Role::getroles($userid);
This my Controller
<?php
namespace App\Http\Controllers;
use App\Http\Controllers\Controller;
use App\Providers\RouteServiceProvider;
use Illuminate\Foundation\Auth\AuthenticatesUsers;
use Illuminate\Http\Request;
use Illuminate\Http\Response;
use App\Models\User;
use App\Models\Role;
use Session;
use Illuminate\Validation\Rule;
use App\Http\Resources\Admin\RoleResource;
use App\Http\Requests\StoreRoleRequest;
use App\Http\Requests\UpdateRoleRequest;
class SelectroleController extends Controller
{
public function index()
{
$userid = auth()->user()->id;
$roller = Role::getroles($userid);
return view('roller.index', compact('roller'));
}
public function getcurrentRole()
{
return auth()->user()->role_id;
}
public function selectrole(Request $request)
{
// Get selected role and startlist
$role_id = $request->valgrolle;
// Store default role on user
$storedefrole = User::storeDefRoleUser($role_id);
var_dump("ROLLER 2");
switch ($role_id) {
case 1:
$this->redirectTo = 'admin/dashboard';
break;
case 2:
$this->redirectTo = 'admin/dashboard';
break;
case 3:
$this->redirectTo = 'admin/dashboard';
break;
case 4:
$this->redirectTo = 'admin/dashboard';
break;
case 5:
$this->redirectTo = 'admin/starter';
break;
case 6:
$this->redirectTo = 'admin/marshal';
break;
case 7:
$this->redirectTo = 'admin/dashboard';
break;
case 8:
$this->redirectTo = 'admin/dashboard';
break;
case 9:
$this->redirectTo = 'admin/player';
break;
case 10:
$this->redirectTo = 'admin/tester';
break;
default:
$this->redirectTo = 'admin/tester';
}
return redirect()->to($this->redirectTo);
}
}
I assume you have
public function getroles($userid)
{
}
in your roles class.
you need to make it static if you want to call it that way
public static function getroles($userid)
{
}
Please or to participate in this conversation.