I've some problem with passing array, please give me some advice so I can solve this matter.
Here is My Controller:
$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');
And this is part of my Blade view:
@if (Auth::check() && (Auth::user()->level == 'MR' || Auth::user()->level == 'PDD' || Auth::user()->id_departemen ==' @foreach ($keluhan_list as $keluhan) {{$keluhan->id_departemen}} @endforeach' ))
It's not error but it's not pass the auth. When I try to replace with Auth::user()->id_departemen == '10'
it's working.
One mistake in return view line
$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
First add this line in your blade
@foreach ($keluhan_list as $keluhan)
<?php $id_dept[] = $keluhan->id_departemen; ?>
@endforeach
then
@if (Auth::check() && (Auth::user()->level == 'MR' || Auth::user()->level == 'PDD' || in_array(Auth::user()->id_departemen,$id_dept) ))
Use in_array()
.
Checks if a value exists in an array
@if (.... || in_array(Auth::user()->id_departemen, array_column($keluhan_list, 'id_departemen'))