2017-04-04 97 views
2

任何人都可以帮我修复这段代码吗?多在哪里Laravel不工作

public function caritindaklanjut(Request $request){ 
    $halaman="tindaklayanan"; 
    $cari = '%'.$request->search.'%'; 
    $rows=DB::table('keluhans') 
    ->select(DB::raw('id,produk,username,masalah,status,id_departemen')) 
    ->where('status','=','Pending') 
    ->where(function($query) { 
    $query->where('produk','like',$cari) 
     ->orWhere('username','like',$cari) 
     ->orWhere('masalah','like',$cari); 
    })->orderby('id','asc')->get(); 

它不能通$〜马来西亚到$查询和获取错误...请帮助:)

+0

您错过了使用$ cari变量 –

回答

3

添加use($cari)

->where(function($query) use($cari) { 
+1

它的工作非常感谢你:) –

2

你需要有一个“使用($卡里) “在第二个匿名函数的声明where():

public function caritindaklanjut(Request $request){ 
    $halaman="tindaklayanan"; 
    $cari = '%'.$request->search.'%'; 
    $rows=DB::table('keluhans') 
    ->select(DB::raw('id,produk,username,masalah,status,id_departemen')) 
    ->where('status','=','Pending') 
    ->where(function($query) use ($cari) { 
     $query->where('produk','like',$cari) 
     ->orWhere('username','like',$cari) 
     ->orWhere('masalah','like',$cari); 
    })->orderby('id','asc')->get(); 
+0

为什么匿名在第一位? –

+0

@AchrafKhouadja看到我的评论给你的答案 – markdwhite

+0

是的你的权利,我没有注意到我的猜测! –