Ошибка при попытке получить свойство необъекта laravel 5.4 и maatwebsite 2.1.0 - PullRequest
0 голосов
/ 04 ноября 2018

Получение ошибки «Попытка получить свойство необъекта» Я использую laravel 5.4, php 5.6 и maatwebsite 2.1.0 чтобы получить файл Excel и вот код

function excel()
    {
        $tebtom = Tebtom::orderBy('created_at', 'desc')->get()->toArray();
        $tebtom_array[] = array('رقم الموضوع', 'إسم الراسل', 'رقم الهاتف', 'البريد الإلكترونى', 'رقم العضوية', 'المرفق', 'القصة', 'تاريخ الإضافة');
        foreach ($tebtom as $tebtomItem)
        {
            $tebtom_array[] = array(
                'رقم الموضوع' => $tebtomItem->id,
                'إسم الراسل' => $tebtomItem->Name,
                'رقم الهاتف' => $tebtomItem->mobile,
                'البريد الإلكترونى' => $tebtomItem->email,
                'رقم العضوية' => $tebtomItem->membership,
                'المرفق' => $tebtomItem->attach,
                'القصة' => $tebtomItem->story,
                'تاريخ الإضافة' => $tebtomItem->created_at
            );
        }
        Excel::create('بيانات المواضيع', function($excel) use ($tebtom_array){
            $excel->setTitle('بيانات المواضيع');
            $excel->sheet('بيانات المواضيع', function($sheet) use ($tebtom_array){
                $sheet->fromArray($tebtom_array, null, 'A1', false, false);
            });
        })->download('xlsx');
    }

1 Ответ

0 голосов
/ 04 ноября 2018

Вам нужно будет удалить ->toArray(), потому что вы извлекаете результаты запроса в виде массива, который не позволит вам получить отдельные свойства, используя, например, ->id, что приведет к ошибке.

Удаление этого извлечет результаты в виде коллекции, которая позволит вам перебирать их, используя цикл foreach.

$tebtom = Tebtom::orderBy('created_at', 'desc')->get();

...