Получить идентификатор из URL-адреса для вставки в WhereIn (Laravel) - PullRequest
0 голосов
/ 28 августа 2018

Я вставляю URL так: «экспорт / 1-2-18». 1, 2, 18 - идентификаторы таблицы. Идентификатор отмечен флажком, поэтому в таблице могут быть любые цифры

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, но я только что получил один из результатов.

enter image description here

Как получить все результаты? Заранее спасибо.

1 Ответ

0 голосов
/ 28 августа 2018

2-й параметр для whereIn неверен. Вы должны ввести массив значений, а не массив со строкой (['1,2,18'] должно быть [1,2,18]).

Вы можете использовать метод explode ().

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