Ich habe ein Laravel-Projekt, wo ich angefangen habe, die Verwaltung der Dinge zu programmieren. Ich habe eine Middleware erstellt, um zu überprüfen, ob ihre Government_ID> 0 ist, wenn sie nicht auf die verweigerte Seite umgeleitet werden.Laravel: Undefinierte Eigenschaft
Middleware:
<?php
namespace App\Http\Middleware;
use Closure;
use Auth;
use View;
use App\Database\Website\Roleplay\GovernmentRole;
class AdminAuth
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
if (Auth::guest() || Auth::user()->roleplay->government_id == 0)
{
return redirect("denied");
}
if (Auth::check())
{
View::share('myGovernmentRole', GovernmentRole::where('id', Auth::user()->roleplay->government_id)->get());
}
return $next($request);
}
}
Nun ist die Frage, über die ich fragen, ist dies.
Undefined property: Illuminate\Database\Eloquent\Collection::$government_type
Wie Sie sehen können, ich teile die Ansicht:
View::share('myGovernmentRole', GovernmentRole::where('id', Auth::user()->roleplay->government_id)->get());
Und meiner Meinung nach ich dies tun:
@if ($myGovernmentRole->government_type == 'junior_ministers'
|| $myGovernmentRole->government_type == 'senior_ministers'
|| $myGovernmentRole->government_type == 'higher_government'
|| $myGovernmentRole->government_type == 'royalty')
<li class="dropdown">
<a href="#" clas="dsropdown-toggle profile-image" data-toggle="dropdown">
<i class="fa fa-user"></i> JuniorCP <b class="caret"></b></a>
<ul class="dropdown-menu">
<li><a href="/business/overview"><i class="fa fa-briefcase"></i> Business</a></li>
</ul>
</li>
@endif
Und es scheint zu passieren, wenn man versucht, die government_type zu erhalten Spalte, aber ich weiß nicht warum, ich dachte, du könntest einfach -> Spalte auf eine Sammlung und bekomme die Spalte, bin ich falsch?
Wer kann helfen, danke. Verwenden von Laravel 5.3
Ist government_type auf ausfüllbare Array auf Modell enthalten? –
protected $ filable = []; Ich habe es auf alles eingestellt. – Ashkru
hast du nicht versucht, 'Auth :: user() -> roleplay' vor if-Anweisungen auszugeben? was es zeigt? –