update logic upload file
This commit is contained in:
		
							parent
							
								
									d2c0e0b95d
								
							
						
					
					
						commit
						f807a635bb
					
				| 
						 | 
					@ -374,6 +374,10 @@ class ProfileController extends Controller
 | 
				
			||||||
    public function getFiles()
 | 
					    public function getFiles()
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        try {
 | 
					        try {
 | 
				
			||||||
 | 
					            // Lấy tất cả users
 | 
				
			||||||
 | 
					            $users = Admin::all();
 | 
				
			||||||
 | 
					            
 | 
				
			||||||
 | 
					            // Lấy files và map theo cấu trúc
 | 
				
			||||||
            $files = Files::with('user')->get()
 | 
					            $files = Files::with('user')->get()
 | 
				
			||||||
                ->map(function($file) {
 | 
					                ->map(function($file) {
 | 
				
			||||||
                    return [
 | 
					                    return [
 | 
				
			||||||
| 
						 | 
					@ -388,10 +392,10 @@ class ProfileController extends Controller
 | 
				
			||||||
                    ];
 | 
					                    ];
 | 
				
			||||||
                });
 | 
					                });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            // Gom nhóm files theo tên user
 | 
					            // Tạo mảng kết quả với tất cả users, không có file thì mảng rỗng
 | 
				
			||||||
            $groupedFiles = $files->groupBy('user_name')
 | 
					            $result = $users->pluck('name')->mapWithKeys(function($userName) use ($files) {
 | 
				
			||||||
                ->map(function($files) {
 | 
					                $userFiles = $files->where('user_name', $userName)
 | 
				
			||||||
                    return $files->map(function(array $file) {
 | 
					                    ->map(function($file) {
 | 
				
			||||||
                        return (object)[
 | 
					                        return (object)[
 | 
				
			||||||
                            'id' => $file['id'],
 | 
					                            'id' => $file['id'],
 | 
				
			||||||
                            'name' => $file['name'],
 | 
					                            'name' => $file['name'],
 | 
				
			||||||
| 
						 | 
					@ -401,12 +405,14 @@ class ProfileController extends Controller
 | 
				
			||||||
                            'created_at' => $file['created_at'],
 | 
					                            'created_at' => $file['created_at'],
 | 
				
			||||||
                            'user_id' => $file['user_id']
 | 
					                            'user_id' => $file['user_id']
 | 
				
			||||||
                        ];
 | 
					                        ];
 | 
				
			||||||
                    });
 | 
					                    })->values();
 | 
				
			||||||
                });
 | 
					                    
 | 
				
			||||||
 | 
					                return [$userName => $userFiles];
 | 
				
			||||||
 | 
					            });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            return response()->json([
 | 
					            return response()->json([
 | 
				
			||||||
                'status' => true,
 | 
					                'status' => true,
 | 
				
			||||||
                'data' => $groupedFiles
 | 
					                'data' => $result
 | 
				
			||||||
            ]);
 | 
					            ]);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        } catch (\Exception $e) {
 | 
					        } catch (\Exception $e) {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue