从URL获取ID以插入到WhereIn(Laravel)

时间:2018-08-28 11:22:11

标签: laravel where-in

我插入如下网址:“ export / 1-2-18”。 1、2、18是表的ID。 该ID已通过复选框选中,因此它可以是表格上的任何数字

像这样的href

<a href ="{{ url('export',['id'=> $a ]) }}" class="btn btn-info export" id="export-button"> Export file </a> 

$a = 1-2-18;

这是控制器

public function exportFile($id){
            $rp = str_replace('-',',',$id);
            echo ($rp);
            $products = DB::table('duan')
                ->whereIn('MaDA', [$rp])
                ->get(); 
            dd($products);
            $products= json_decode( json_encode($products), true);
            return Excel::create('ThongTinDuAn', function($excel) use ($products) {
                $excel->sheet('sheet name', function($sheet) use ($products)
                {
                    $sheet->fromArray($products);
                     $sheet->getStyle('A2:E2')->getAlignment()->setWrapText(true);
                });

            })->export('xlsx');
        }  

我已将网址从“ 1-2-18”替换为“ 1,2,18”,并插入到whereIn,但我刚收到其中一个结果。

enter image description here

如何获得所有结果?预先感谢。

1 个答案:

答案 0 :(得分:1)

whereIn的第二个参数错误。您必须输入值数组,而不是带有字符串的数组(['1,2,18']应该为[1,2,18])。

您可以使用explode()方法。

$rp = explode('-',$id);
$products = DB::table('duan')
            ->whereIn('MaDA', $rp)
            ->get();