validate([ // 'preferences' => 'required|array', // Memastikan preferences adalah array // ]); // // Simpan preferensi sebagai JSON // UserPreference::updateOrCreate( // ['user_id' => auth()->id()], // ['preferences' => json_encode($request->preferences)] // ); // return response()->json(['message' => 'Preferences saved successfully']); // } // Mendapatkan preferensi pengguna yang telah disimpan // public function getPreferences() // { // $preferences = UserPreference::where('user_id', auth()->id())->first(); // return response()->json($preferences); // } public function storeOrUpdatePreferences(Request $request) { // Dapatkan user yang sedang login $user = Auth::user(); // Validasi input $request->validate([ 'filters.*' => 'string|distinct', 'bidang_sub_sektor_ekonomi_kreatif' => 'array|nullable', 'kategori' => 'array|nullable', 'batas_terima_tawaran' => 'date|nullable', 'range_min' => 'numeric|nullable', 'range_max' => 'numeric|nullable', 'status' => 'array|nullable', 'audiens' => 'string|nullable', 'benefit' => 'string|nullable', 'durasi_min' => 'integer|nullable', 'durasi_max' => 'integer|nullable', 'lokasi' => 'string|nullable', 'metodologi' => 'string|nullable', 'rincian_kebutuhan' => 'string|nullable', 'penerima_manfaat' => 'string|nullable', ]); $batasTerimaTawaran = $request->batas_terima_tawaran ? date('Y-m-d', strtotime($request->batas_terima_tawaran)) : null; // Buat atau perbarui preferences $preferences = Preference::updateOrCreate( ['user_id' => $user->id], // Kondisi pencarian berdasarkan user_id [ 'filters' => json_encode($request->filters), 'bidang_sub_sektor_ekonomi_kreatif' => json_encode($request->bidang_sub_sektor_ekonomi_kreatif), 'kategori' => json_encode($request->kategori), 'batas_terima_tawaran' => $batasTerimaTawaran, 'range_min' => $request->range_min, 'range_max' => $request->range_max, 'status' => json_encode($request->status), 'audiens' => $request->audiens, 'benefit' => $request->benefit, 'durasi_min' => $request->durasi_min, 'durasi_max' => $request->durasi_max, 'lokasi' => $request->lokasi, 'metodologi' => $request->metodologi, 'rincian_kebutuhan' => $request->rincian_kebutuhan, 'penerima_manfaat' => $request->penerima_manfaat, ] ); // Kembali ke halaman sebelumnya dengan pesan sukses return redirect()->back()->with('success', 'Preferences updated successfully.'); } // public function storeOrUpdatePreferences(Request $request) // { // // Dapatkan user yang sedang login // $user = Auth::user(); // // Validasi input // $request->validate([ // 'filters.*' => 'string|distinct', // 'bidang_sub_sektor_ekonomi_kreatif' => 'array|nullable', // 'kategori' => 'array|nullable', // 'batas_terima_tawaran' => 'date|nullable', // 'range_min' => 'numeric|nullable', // 'range_max' => 'numeric|nullable', // 'status' => 'array|nullable', // 'audiens' => 'string|nullable', // 'benefit' => 'string|nullable', // 'durasi_min' => 'integer|nullable', // 'durasi_max' => 'integer|nullable', // 'lokasi' => 'string|nullable', // 'metodologi' => 'string|nullable', // 'rincian_kebutuhan' => 'string|nullable', // 'penerima_manfaat' => 'string|nullable', // ]); // // Buat atau perbarui preferences // $preferences = Preference::updateOrCreate( // ['user_id' => $user->id], // Kondisi pencarian berdasarkan user_id // [ // 'filters' => json_encode($request->filters), // Menyimpan filters sebagai JSON // 'bidang_sub_sektor_ekonomi_kreatif' => json_encode($request->bidang_sub_sektor_ekonomi_kreatif), // 'kategori' => json_encode($request->kategori), // 'batas_terima_tawaran' => $request->batas_terima_tawaran, // 'range_min' => $request->range_min, // 'range_max' => $request->range_max, // 'status' => json_encode($request->status), // 'audiens' => $request->audiens, // 'benefit' => $request->benefit, // 'durasi_min' => $request->durasi_min, // 'durasi_max' => $request->durasi_max, // 'lokasi' => $request->lokasi, // 'metodologi' => $request->metodologi, // 'rincian_kebutuhan' => $request->rincian_kebutuhan, // 'penerima_manfaat' => $request->penerima_manfaat, // ] // ); // // Kembali ke halaman sebelumnya dengan pesan sukses // return redirect()->back()->with('success', 'Preferences berhasil diperbarui!'); // } }