Есть посредник, который проверяет является ли пользователь сотрудником компании и, если фолс, то выкидывает его на страницу Idea, а если тру, то замыкается и передает управление контроллеру.
Но возникает ошибка: когда результат проверки фолс, то я вижу ошибку Call to a member function setCookie() on null.
Как справиться с этой ошибкой?
Вот код посредника:
use App\User;
class UserCompanies
{
public function handle($request, Closure $next)
{
$userID = Auth::user()->id;
$userModel = User::find($userID);
$id=$request->route('id');
$postsHasMany = $userModel->companies();
$companies = $postsHasMany->where('id','like',$id)->count();
if ($companies==0) {
return view('idea');
}
return $next($request);
}
}
А это контроллер, который вызывает этого посредника
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Company;
use Auth;
use App\User;
class CompanyController extends Controller
{
public function __construct()
{
$this->middleware('company:id');
}
public function companyHome($id)
{
$company=Company::find($id);
return view('companyIndex', compact($company))->with([
'company'=>$company
]);
}
}