56 lines
1.6 KiB
PHP
56 lines
1.6 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers\Admin;
|
|
|
|
use App\Http\Controllers\Controller;
|
|
use App\Http\Requests\CityStoreRequest;
|
|
use App\Http\Requests\CityUpdateRequest;
|
|
use App\Models\City;
|
|
use App\Models\Province;
|
|
use Illuminate\Http\Request;
|
|
|
|
class CityController extends Controller
|
|
{
|
|
public function index(Request $request)
|
|
{
|
|
$query = City::with('province');
|
|
if ($request->filled('province_id')) {
|
|
$query->where('province_id', $request->province_id);
|
|
}
|
|
$cities = $query->paginate(20);
|
|
$provinces = Province::all();
|
|
return view('admin.cities.index', compact('cities', 'provinces'));
|
|
}
|
|
|
|
public function create()
|
|
{
|
|
$provinces = Province::all();
|
|
return view('admin.cities.create', compact('provinces'));
|
|
}
|
|
|
|
// استفاده از CityRequest به جای Request
|
|
public function store(CityStoreRequest $request)
|
|
{
|
|
City::create($request->validated());
|
|
return redirect()->route('admin.locations.cities.index')->with('success', 'شهر با موفقیت ایجاد شد.');
|
|
}
|
|
|
|
public function edit(City $city)
|
|
{
|
|
$provinces = Province::all();
|
|
return view('admin.cities.edit', compact('city', 'provinces'));
|
|
}
|
|
|
|
public function update(CityUpdateRequest $request, City $city)
|
|
{
|
|
$city->update($request->validated());
|
|
return redirect()->route('admin.locations.cities.index')->with('success', 'شهر ویرایش شد.');
|
|
}
|
|
|
|
public function destroy(City $city)
|
|
{
|
|
$city->delete();
|
|
return back()->with('success', 'شهر حذف شد.');
|
|
}
|
|
}
|