fix: sosial-ekonomi nested route & controller view
This commit is contained in:
@@ -42,25 +42,39 @@ class SosialEkonomiController extends Controller
|
||||
));
|
||||
}
|
||||
|
||||
public function index(Request $request): JsonResponse
|
||||
{
|
||||
public function index(Request $request, Petani $petani)
|
||||
{
|
||||
$sosialEkonomi = SosialEkonomi::with([
|
||||
'petani',
|
||||
'pendapatanKomoditas',
|
||||
'pendapatanLuarPertanian',
|
||||
])
|
||||
->when($request->search, function ($query, $search) {
|
||||
$query->whereHas('petani', function ($petani) use ($search) {
|
||||
$petani->where('nama', 'like', "%{$search}%");
|
||||
});
|
||||
})
|
||||
->when($request->petani_id, fn ($query, $petaniId) => $query->where('petani_id', $petaniId))
|
||||
->orderBy('created_at', 'desc')
|
||||
->paginate($request->per_page ?? 10);
|
||||
->where('petani_id', $petani->id)
|
||||
->first();
|
||||
|
||||
$komoditasPetani = collect();
|
||||
|
||||
$pendapatanKomoditasUtama = $sosialEkonomi?->pendapatanKomoditas
|
||||
->where('kategori', 'utama') ?? collect();
|
||||
|
||||
$pendapatanKomoditasLainnya = $sosialEkonomi?->pendapatanKomoditas
|
||||
->where('kategori', 'lainnya') ?? collect();
|
||||
|
||||
$pendapatanLuarPertanian = $sosialEkonomi?->pendapatanLuarPertanian ?? collect();
|
||||
|
||||
if ($request->expectsJson()) {
|
||||
return response()->json($sosialEkonomi);
|
||||
}
|
||||
|
||||
return view('produktivitas.petani.sosial-ekonomi.index', compact(
|
||||
'petani',
|
||||
'sosialEkonomi',
|
||||
'komoditasPetani',
|
||||
'pendapatanKomoditasUtama',
|
||||
'pendapatanKomoditasLainnya',
|
||||
'pendapatanLuarPertanian',
|
||||
));
|
||||
}
|
||||
|
||||
public function store(Request $request): JsonResponse|RedirectResponse
|
||||
{
|
||||
$validated = $this->validateData($request);
|
||||
|
||||
@@ -87,8 +87,8 @@
|
||||
</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="{{ route('petani.edit', $petani->id) }}">
|
||||
<i class="icon-base ti tabler-user-check me-1_5 icon-sm"></i>Akses Pasar
|
||||
<a class="nav-link {{ request()->routeIs('petani.akses-pasar.edit') ? 'active' : '' }}" href="{{ route('petani.akses-pasar.edit', $petani->id) }}">
|
||||
<i class="icon-base ti tabler-building-store me-1_5 icon-sm"></i>Akses Pasar
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
<div class="col-md-12">
|
||||
@include('produktivitas.petani.header', ['petani' => $petani])
|
||||
|
||||
<form method="POST" action="{{ $sosialEkonomi ? route('sosial-ekonomi.update', $sosialEkonomi->id) : route('sosial-ekonomi.store') }}">
|
||||
<form method="POST" action="{{ $sosialEkonomi ? route('petani.sosial-ekonomi.update', [$petani->id, $sosialEkonomi->id]) : route('petani.sosial-ekonomi.store', $petani->id) }}">
|
||||
@csrf
|
||||
@if($sosialEkonomi)
|
||||
@method('PUT')
|
||||
|
||||
@@ -44,6 +44,7 @@ Route::middleware('auth')
|
||||
Route::get('/hilirisasi', [App\Http\Controllers\Web\Dashboard\HilirisasiController::class, 'index'])->name('dashboard.hilirisasi');
|
||||
Route::get('/konektivitas', [App\Http\Controllers\Web\Dashboard\KonektivitasController::class, 'index'])->name('dashboard.konektivitas');
|
||||
Route::get('/akselerasi', [App\Http\Controllers\Web\Dashboard\AkselerasiController::class, 'index'])->name('dashboard.akselerasi');
|
||||
Route::get('/distribusi', [App\Http\Controllers\Web\Dashboard\DistribusiController::class, 'index'])->name('dashboard.distribusi');
|
||||
|
||||
// User
|
||||
Route::resource('users', App\Http\Controllers\Web\Konfigurasi\UserController::class);
|
||||
@@ -187,6 +188,9 @@ Route::middleware('auth')
|
||||
|
||||
// Petani
|
||||
Route::resource('petani', App\Http\Controllers\Web\Produktivitas\PetaniController::class);
|
||||
Route::resource('sosial-ekonomi', App\Http\Controllers\Web\Produktivitas\SosialEkonomiController::class)->except(['create', 'edit']);
|
||||
Route::get('petani/{petani}/akses-pasar', [App\Http\Controllers\Web\Produktivitas\AksesPasarController::class, 'editByPetani'])->name('petani.akses-pasar.edit');
|
||||
Route::resource('akses-pasar', App\Http\Controllers\Web\Produktivitas\AksesPasarController::class)->except(['create', 'edit']);
|
||||
Route::resource('petani.lahan-tanaman', App\Http\Controllers\Web\Produktivitas\PetaniLahanController::class);
|
||||
Route::resource('petani.lahan-tanaman.tanaman', App\Http\Controllers\Web\Produktivitas\PetaniLahanTanamanController::class)->only(['show', 'update', 'destroy']);
|
||||
Route::resource('petani.praktik-budidaya', App\Http\Controllers\Web\Produktivitas\PraktikBudidayaController::class);
|
||||
|
||||
Reference in New Issue
Block a user