我在传递数组时遇到了一些问题,请给我一些建议,以便我能解决这个问题。
这是我的控制器:
$keluhan_list=DB::table('keluhans')
->select(DB::raw('id,produk,username,masalah,id_departemen'))
->where('status','=','Proses')->get();
return view('layanankonsumen.lihattindaklanjut',compact('keluhan_list');
这是我的Blade视图的一部分:
@if (Auth::check() && (Auth::user()->level == 'MR' || Auth::user()->level == 'PDD' || Auth::user()->id_departemen ==' @foreach ($keluhan_list as $keluhan) {{$keluhan->id_departemen}} @endforeach' ))
这不是错误,但它没有通过身份验证。当我尝试用Auth::user()->id_departemen == '10'
替换时,它正在工作。
答案 0 :(得分:2)
使用in_array()
。
检查数组中是否存在值
@if (.... || in_array(Auth::user()->id_departemen, array_column($keluhan_list, 'id_departemen'))
答案 1 :(得分:2)
返回视图行中的一个错误
$keluhan_list=DB::table('keluhans')
->select(DB::raw('id,produk,username,masalah,id_departemen'))
->where('status','=','Proses')->get();
return view('layanankonsumen.lihattindaklanjut',compact('keluhan_list'));// add one more braces before semicolon
首先在刀片中添加此行
@foreach ($keluhan_list as $keluhan)
<?php $id_dept[] = $keluhan->id_departemen; ?>
@endforeach
然后
@if (Auth::check() && (Auth::user()->level == 'MR' || Auth::user()->level == 'PDD' || in_array(Auth::user()->id_departemen,$id_dept) ))