错误尝试获取非对象 laravel 5.4 的 属性 和 maatwebsite 2.1.0
error Trying to get property of non-object laravel 5.4 and maatwebsite 2.1.0
获取错误"Trying to get property of non-object"
我正在使用 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');
}
您将需要删除 ->toArray()
,因为您将查询结果作为数组获取,这将不允许您使用 ->id
获取单个属性,因此会引发错误.
删除它将获取结果作为一个集合,这将允许您使用 foreach
循环迭代它们。
$tebtom = Tebtom::orderBy('created_at', 'desc')->get();
获取错误"Trying to get property of non-object" 我正在使用 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');
}
您将需要删除 ->toArray()
,因为您将查询结果作为数组获取,这将不允许您使用 ->id
获取单个属性,因此会引发错误.
删除它将获取结果作为一个集合,这将允许您使用 foreach
循环迭代它们。
$tebtom = Tebtom::orderBy('created_at', 'desc')->get();