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([
|
$sosialEkonomi = SosialEkonomi::with([
|
||||||
'petani',
|
'pendapatanKomoditas',
|
||||||
'pendapatanKomoditas',
|
'pendapatanLuarPertanian',
|
||||||
'pendapatanLuarPertanian',
|
])
|
||||||
])
|
->where('petani_id', $petani->id)
|
||||||
->when($request->search, function ($query, $search) {
|
->first();
|
||||||
$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);
|
|
||||||
|
|
||||||
|
$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 response()->json($sosialEkonomi);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return view('produktivitas.petani.sosial-ekonomi.index', compact(
|
||||||
|
'petani',
|
||||||
|
'sosialEkonomi',
|
||||||
|
'komoditasPetani',
|
||||||
|
'pendapatanKomoditasUtama',
|
||||||
|
'pendapatanKomoditasLainnya',
|
||||||
|
'pendapatanLuarPertanian',
|
||||||
|
));
|
||||||
|
}
|
||||||
|
|
||||||
public function store(Request $request): JsonResponse|RedirectResponse
|
public function store(Request $request): JsonResponse|RedirectResponse
|
||||||
{
|
{
|
||||||
$validated = $this->validateData($request);
|
$validated = $this->validateData($request);
|
||||||
|
|||||||
@@ -87,8 +87,8 @@
|
|||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li class="nav-item">
|
<li class="nav-item">
|
||||||
<a class="nav-link" href="{{ route('petani.edit', $petani->id) }}">
|
<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-user-check me-1_5 icon-sm"></i>Akses Pasar
|
<i class="icon-base ti tabler-building-store me-1_5 icon-sm"></i>Akses Pasar
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|||||||
@@ -20,7 +20,7 @@
|
|||||||
<div class="col-md-12">
|
<div class="col-md-12">
|
||||||
@include('produktivitas.petani.header', ['petani' => $petani])
|
@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
|
@csrf
|
||||||
@if($sosialEkonomi)
|
@if($sosialEkonomi)
|
||||||
@method('PUT')
|
@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('/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('/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('/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
|
// User
|
||||||
Route::resource('users', App\Http\Controllers\Web\Konfigurasi\UserController::class);
|
Route::resource('users', App\Http\Controllers\Web\Konfigurasi\UserController::class);
|
||||||
@@ -187,6 +188,9 @@ Route::middleware('auth')
|
|||||||
|
|
||||||
// Petani
|
// Petani
|
||||||
Route::resource('petani', App\Http\Controllers\Web\Produktivitas\PetaniController::class);
|
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', 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.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);
|
Route::resource('petani.praktik-budidaya', App\Http\Controllers\Web\Produktivitas\PraktikBudidayaController::class);
|
||||||
|
|||||||
Reference in New Issue
Block a user