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

Get ID from url to insert to WhereIn (Laravel)

我这样插入 url:"export/1-2-18"。 1、2、18 是 table 的 id。 ID 由复选框检查,因此它可以是 table

上的任何数字

像这样的 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');
        }  

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

如何得到所有的结果?提前致谢。

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

您可以使用 explode() 方法。

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