это home.blade. php файл
@foreach($userview as $userview){
@if($userview = [{"role_code": "auv_recommend"}]){
<center>
<div class="box">
<div class="dropdown">
<button class="btn btn-secondary dropdown-toggle" type="button" data-toggle="dropdown" data-submenu aria-expanded="false">AUV</button>
<div class="dropright dropdown-menu" x-placement="bottom-start" style="position: absolute; will-change: transform; top: 0px; left: 0px; transform: translate3d(14px, 60px, 0px);">
<button class="dropdown-item" type="button"><a tabindex=" -1" href="create">CREATE</a></button>
<button class="dropdown-item dropdown-toggle test1" type="button" data-toggle="dropdown">VIEW</button>
<div class="dropdown-menu dropright">
<button class="dropdown-item" type="button"><a tabindex="-1" href="pendinglistSH">Awaiting Approval</a></button>
<button class="dropdown-item" type="button"><a tabindex=" -1" href="reports">Reports</a></button>
</div>
</div>
</div>
</div>
</center>}
это контроллер для возврата к исходному виду, созданному как автономный для аутентификации
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Session;
class HomeController extends Controller
{
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct()
{
$this->middleware('auth');
}
/**
* Show the application dashboard.
*
* @return \Illuminate\Contracts\Support\Renderable
*/
public function index(){
$userview = Session::get('userview');
return view('home')->with($userview);
}
public function login()
{
return view('auth.login');
}
}
это контроллер входа в систему, отвечающий за аутентификацию пользователя и вставку данных в сеанс
<?php
namespace App\Http\Controllers\Auth;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use Illuminate\Foundation\Auth\AuthenticatesUsers;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\DB;
use Illuminate\Database\Eloquent\Collection;
use App\User;
use App\userprofile;
class LoginController extends Controller
{
/*
|--------------------------------------------------------------------------
| Login Controller
|--------------------------------------------------------------------------
|
| This controller handles authenticating users for the application and
| redirecting them to your home screen. The controller uses a trait
| to conveniently provide its functionality to your applications.
|
*/
use AuthenticatesUsers;
/**
* Where to redirect users after login.
*
* @var string
*/
protected $redirectTo = '/home';
public function login(Request $request) {
$request->validate( [
'username' => 'required',
'password'=> 'required',
]);
// $input = $request->all();
// $input['password'] = md5($input['password']);
$execsys_data = array(
'username' => $request->get('username'),
'password' => $request->get('password')
);
if (Auth::attempt($execsys_data)) {
$request->session()->put('authenticated',true);
$request->session()->put('username');
$request->session()->put('section');
$request->session()->put('firstname');
// SELECT role_code FROM `userprofiles`
// inner join roleprofiles on roleprofiles.profile_code = userprofiles.profile_code
// WHERE username = 'sumbu'
$userview = userprofile::where([
['userprofiles.username', '=', Auth::user()->username]
])
->join('roleprofiles', 'roleprofiles.profile_code', '=', 'userprofiles.profile_code')
->get('roleprofiles.role_code');
return($userview);
// $request->session()->put('userview', $userview);
// if ($request->session()->has($userview))
return redirect('home')->with($userview);
// echo($userview);
}
else {
return back()->with('error', 'Wrong Credentials');
}
}
// public function create()
// {
// return view('pages.create');
// }
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct()
{
$this->middleware('guest')->except('logout');
// $this->middleware('guest:create')->except('logout');
$this->middleware(function ($request, $next) {
$this->user = Auth::user();
// $this->user = Auth::roleprofile();
// $this->username = Auth::guard('api')->username;
return $next($request);
});
}
public function username()
{
return 'username';
}
public function getRememberToken()
{
return $this->user['remember_token'];
}
public function getUserview()
{
return $this->userview;
}
public function logout(Request $request)
{
// $request->session()->forget('authenticated');
// $request->session()->forget('username');
// $this->middleware('guest')->except('logout');
$request->session()->flush();
return redirect('auth.login');
}
}
, а также как получить значение столбца только без возврата массива, чтобы я мог использовать его для проверки своего состояния, я попытался вставить переменная $ userview в сеансе, чтобы я мог получить ее на go на другом контроллере и попытаться вызвать переменную с домашнего контроллера, но она не удалась