在Laravel中为Auth传递数组(不是对象)

时间:2017-03-31 06:34:32

标签: php html arrays laravel laravel-5.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');

这是我的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'替换时,它正在工作。

2 个答案:

答案 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) ))