我用php创建了一个可下载的.csv文件。我需要按first_name的字母顺序对数据进行排序,所以我尝试使用asort('$user->first_name');,结果出现错误。我将展示全部代码,也许你们可以帮助我。
public function getTransportationReport()
{
header...
$file = fopen( 'php://output', 'w' );
fputcsv( $file, array('Departure Location', 'First Name', 'Last Name', 'Group Name', 'Unit', 'Unit Number', 'Phone Number', 'Email Address') );
$rowed = array();
$auth_event = \App\Group::find( session()->get( 'event-id' ) );
$bookings = \App\EventBookings::where('group_id', '=', $auth_event->group_id)->where('chalet_id', '!=', 0)->get();
if ( $bookings->count() ) {
foreach ($bookings as $booking) {
$event_group = \App\EventGroup::find($booking->eg_id);
if ( $event_group ) {
$chalet = \App\Chalet::find($booking->chalet_id);
if ( $chalet ) {
$transpoCharges = \App\EventBookingCharges::where('booking_id', '=', $booking->booking_id)->where('charge_key', 'LIKE', 'transportation')->get();
if ( $transpoCharges->count() ) {
foreach ($transpoCharges as $transpoCharge) {
$jdecode = json_decode($transpoCharge->json);
$user = \App\User::find($transpoCharge->user_id);
$paidCharges = \App\EventBookingCharges::where('booking_id', '=', $booking->booking_id)->where('status','=',1)->where('user_id','=',$user->user_id)->sum('amount');
if ( $user ) {
$rowed[] = array(
$jdecode->location,
$user->first_name,
$user->last_name,
$event_group->name,
$chalet->name,
$chalet->unit_no,
$user->phone,
$user->email,
);
}
}
}
}
}
}
$data = $rowed;
foreach ($data as $row) {
fputcsv($file, $row);
}
}
exit();
if ( Auth::user()->user_level == 2 ) {
return Redirect::to( $auth_event->alias . '/app/etranspo' );
} else {
return Redirect::to( '/app/' . $auth_event->alias . '/etranspo' );
}
}如果我单击该按钮,它将只显示file not found,但如果我右键单击该按钮并选择save as,它将下载一个.csv文件,并显示错误消息:error ReportsController.php line 490 the line where asort($user->first_name);is error ReportsController.php line 490 Indirect modification of overloaded property App\User::$first_name has no effect
https://stackoverflow.com/questions/41629838
复制相似问题