Как сделал выборку листов при импорте из Excel файла в бд laravel. На данный момент мой импорт:
$data = Excel::load($path, function ($reader) {
})->get();
Дальше перебираем $data
и добавляем в бд, но переборка уже происходит на 1 листе, как указать например второй лист?
foreach ($data as $object) {
//$object->name....
}
$data = Excel::load($path, function ($reader) {
})->get();
$pages = $data->all();
Сейчас в $pages
уже лежат листы, соответственно $pages[0]
- первый $pages[1]
- второй.
Перебор.
foreach($pages[1]->all() as $row){
dd($row->all()); // вставляем в бд
}
Вот пример получения данных с конкретного листа Excel документа
Excel::load($destinationPath . $filename, function($reader) use (&$excel) {
$objExcel = $reader->getExcel();
$sheet = $objExcel->getSheet(0);
$highestRow = $sheet->getHighestRow();
$highestColumn = $sheet->getHighestColumn();
// Loop through each row of the worksheet in turn
for ($row = 1; $row <= $highestRow; $row++)
{
// Read a row of data into an array
$rowData = $sheet->rangeToArray('A' . $row . ':' . $highestColumn . $row, NULL, TRUE, FALSE);
$excel[] = $rowData[0];
}
});
А вот так можно перебрать все листы
Excel::load(MyExcelClass::getFile(), function ($reader) {
foreach($reader as $sheet) // loop through sheets
{
$highestRow = $sheet->getHighestRow();
$highestColumn = $sheet->getHighestColumn();
// Loop through each row of the worksheet in turn
for ($row = 1; $row <= $highestRow; $row++)
{
// Read a row of data into an array
$rowData = $sheet->rangeToArray('A' . $row . ':' . $highestColumn . $row, NULL, TRUE, FALSE);
$excel[] = $rowData[0];
}
}
});
Виртуальный выделенный сервер (VDS) становится отличным выбором
Например, когда я пишу так: $users = $this->getDoctrine()->getRepository('ProfileBundle:User')->findBy(['deletedAt' => null]); то к модели пользователя подтягиваются все связанные...
Помогите пофиксить ошибку, вот код отправки письма