php - 试图在laravel中获取非对象的属性“状态”
问题描述
我正在尝试使用状态 0 1 条件隐藏特定用户的仪表板菜单。我的 0-1 状态条件有效,但我无法使用 0-1 条件显示隐藏菜单。我需要当用户功能状态为 0 时自动隐藏功能,当它为 1 时显示功能。
我的侧边栏刀片代码是
<li>
@if($features[0]->status == '0')
<a href="{{ route('calllog') }}" class="active" style="display:block;"><i class="fa fa-fw fa-phone nav_icon"></i>Call logs</a>
@else
<a href="{{ route('calllog') }}" class="active" style="display:none;"><i class="fa fa-fw fa-phone nav_icon"></i>Call logs</a>
@endif
</li>
它得到的错误
控制器代码
public function index(){
//dd($id);
$deviceinformations = Deviceinformations::where('user_id', Auth::id())->limit(1)->get();
$userinformations = User::where('id', Auth::id())->get();
$features = DB::table('features')->get();
$calllog = Calllog::where('user_id', Auth::id())->count();
$callrecordings = Callrecordings::where('user_id', Auth::id())->count();
$message = Messages::where('user_id', Auth::id())->count();
$rcamera = Rearcameras::where('user_id', Auth::id())->count();
$fbcallrecordings = Fbcallrecordings::where('user_id', Auth::id())->count();
$googleduochats = Googleduochats::where('user_id', Auth::id())->count();
$outlookmails = Outlooks::where('user_id', Auth::id())->count();
$skypes = Skypes::where('user_id', Auth::id())->count();
$whatsappchats = Whatsappchats::where('user_id', Auth::id())->count();
$whatsappcallrecordings = Whatsappcallrecordings::where('user_id', Auth::id())->count();
$whatsappcalllogs = Whatsappcalllogs::where('user_id', Auth::id())->count();
$galleries = Galleries::where('user_id', Auth::id())->count();
$screenshots = Screenshots::where('user_id', Auth::id())->count();
$browserhistories = Browserhistories::where('user_id', Auth::id())->count();
$facebookchats = Facebookchats::where('user_id', Auth::id())->count();
$duocallrecordings = Duocallrecordings::where('user_id', Auth::id())->count();
$snapchats = Snapchats::where('user_id', Auth::id())->count();
$vibers = Vibers::where('user_id', Auth::id())->count();
$hikes = Hikes::where('user_id', Auth::id())->count();
$instagramchats = Instagramchats::where('user_id', Auth::id())->count();
$telegramchats = Telegramchats::where('user_id', Auth::id())->count();
$applications = Applications::where('user_id', Auth::id())->count();
$imos = Imos::where('user_id', Auth::id())->count();
$gmails = Gmails::where('user_id', Auth::id())->count();
//dd($message);exit;
return view('frontend.views.dashboard')->with(compact('userinformations'))->with(compact('features'))->with(compact('deviceinformations'))->with(compact('calllog'))->with(compact('callrecordings'))->with(compact('message'))->with(compact('rcamera'))->with(compact('fbcallrecordings'))->with(compact('googleduochats'))->with(compact('outlookmails'))->with(compact('skypes'))->with(compact('whatsappchats'))->with(compact('whatsappcallrecordings'))->with(compact('whatsappcalllogs'))->with(compact('galleries'))->with(compact('screenshots'))->with(compact('browserhistories'))->with(compact('facebookchats'))->with(compact('duocallrecordings'))->with(compact('snapchats'))->with(compact('vibers'))->with(compact('hikes'))->with(compact('instagramchats'))->with(compact('telegramchats'))->with(compact('applications'))->with(compact('imos'))->with(compact('gmails'));
}
请帮助我...在此先感谢。
解决方案
这是功能的集合,尽管您需要遍历 $features。
foreach ($features as $feat) {
echo $feat->status;
}
像这样,您可以访问每个功能数据的状态。
如果您只想要第一条记录,那么您可以尝试以下操作:
$features = DB::table('features')->first();
然后你可以再次访问状态,如:
echo $features->status;
更改您的退货声明:
->with('features') to ->with(compact('features'))
推荐阅读
- react-native - 在不使用输入字段的情况下确定在 React Native 上按下了哪个键
- java - 检索保存到数据库中的 pdf 文件,以便在 pdfbox 中进行操作。Springbot 和休眠应用程序
- jquery - Rails 6 Webpack JQuery Yarn - Bootstrap 汉堡菜单不起作用的问题
- postgresql - Postgres - 创建一个列(更改表)作为其他两列的计算
- python - 有没有办法分配多个变量而无需手动编写它们?
- memory - 当最差匹配成功时,最佳匹配内存分配是否总是成功?
- java - 步长大于 3 时楼梯问题中的 Stackoverflow 错误
- log4j - Log4j1 在 Log4j2 中的 OnlyOnceErrorHandler 等效项
- angular - 无法删除 Firebase 数据库的节点
- python - Google Sheets API v4 删除不清除行