function ( $query ) { $query->select( 'id' , 'name' , 'medical_center_id' ); } , 'user.medical_center' => function ( $query ) { $query->select( 'id' , 'name' ); } , 'latestTransfer' ] ); $user = auth( 'api' )->user(); if ( $user->hasRole( 'User' ) ) { $Items = $Items->whereHas( 'user' , function ( $query ) use ( $user ) { $query->where( 'medical_center_id' , $user->medical_center_id ); } )->where( "status" , 1 ); } elseif ( $user->hasRole( 'Supervisor' ) ) { $Items = $Items->whereHas( 'user' , function ( $query ) use ( $user ) { $query->where( 'medical_center_id' , $user->medical_center_id ); } ); } $Items = $Items->orderByDesc( 'id' )->get(); $Items = $Items->map( function ( $item , $key ) { $row[] = $item[ "id" ]; $row[] = $item[ "name" ]; $row[] = $item[ "size" ]; $row[] = $item[ "udi" ]; $row[] = $item[ "note" ]; $row[] = $item[ "specific" ]; $row[] = $item[ "status" ]; $row[] = $item[ "repair" ]; $row[] = $item[ "user" ] != null ? $item[ "user" ][ "id" ] : null; $row[] = $item[ "user" ] != null ? $item[ "user" ][ "name" ] : null; $row[] = $item[ "medical_center" ] != null ? $item[ "medical_center" ][ "id" ] : null; $row[] = $item[ "medical_center" ] != null ? $item[ "medical_center" ][ "name" ] : null; $row[] = $item[ "latestTransfer" ] != null ? $item[ "latestTransfer" ][ "from_date" ] : null; return $row; } ); $Items->prepend( [ 'شناسه آیتم' , 'نام' , 'سایز' , 'udi' , 'توضیحات' , 'specific' , 'وضعیت' , 'تعمیرات' , 'شناسه کاربر' , 'نام کاربر' , 'شناسه بیمارستان' , 'نام بیمارستان', 'اخرین انتقال' ] ); $export = new ExportCollection( $Items ); return Excel::download( $export , 'items.xlsx' , null , [ \Maatwebsite\Excel\Excel::XLSX ] ); } public function packages() { $Packages = Package::with( [ 'user' => function ( $query ) { $query->select( 'id' , 'name' , 'medical_center_id' ); } , 'user.medical_center' => function ( $query ) { $query->select( 'id' , 'name' ); }, "latestTransfer" ] ); $user = auth( 'api' )->user(); if ( $user->hasRole( 'User' ) or $user->hasRole( 'Supervisor' ) ) { $Packages = $Packages->whereHas( 'user' , function ( $query ) use ( $user ) { $query->where( 'medical_center_id' , $user->medical_center_id ); } ); } $Packages = $Packages->orderByDesc( 'id' )->get(); $Packages = $Packages->map( function ( $item , $key ) { $row[] = $item[ "id" ]; $row[] = $item[ "name" ]; $row[] = $item[ "bar_code" ]; $row[] = $item[ "qr_code" ]; $row[] = $item[ "note" ]; $row[] = $item[ "verified" ]; $row[] = $item[ "user" ] != null ? $item[ "user" ][ "id" ] : null; $row[] = $item[ "user" ] != null ? $item[ "user" ][ "name" ] : null; $row[] = $item[ "medical_center" ] != null ? $item[ "medical_center" ][ "id" ] : null; $row[] = $item[ "medical_center" ] != null ? $item[ "medical_center" ][ "name" ] : null; $row[] = $item[ "latestTransfer" ] != null ? $item[ "latestTransfer" ][ "from_date" ] : null; return $row; } ); $Packages->prepend( [ 'شناسه آیتم' , 'نام' , 'بارکد' , 'qr code' , 'توضیحات' , 'وضعیت' , 'شناسه کاربر' , 'نام کاربر' , 'شناسه بیمارستان' , 'نام بیمارستان', 'اخرین انتقال' ] ); $export = new ExportCollection( $Packages ); return Excel::download( $export , 'packages.xlsx' , null , [ \Maatwebsite\Excel\Excel::XLSX ] ); } }