with([ 'travelType', 'origin', 'destination', ]); // فقط پروازهای فعال $query->where('status', 1); // جستجو بر اساس شماره پرواز if ($request->filled('flight_number')) { $query->where( 'flight_number', 'like', '%' . $request->flight_number . '%' ); } // جستجو بر اساس مبدا if ($request->filled('origin')) { $query->where( 'origin', 'like', '%' . $request->origin . '%' ); } // جستجو بر اساس مقصد if ($request->filled('destination')) { $query->where( 'destination', 'like', '%' . $request->destination . '%' ); } $flights = $query ->latest() ->paginate(12) ->withQueryString(); return view('flights.index', compact('flights')); } /** * جستجوی پروازها */ public function search(Request $request) { $query = Flight::query() ->where('status', 1) ->with([ 'travelType', 'origin', 'destination', ]); if ($request->filled('origin')) { $query->where( 'origin', 'like', '%' . $request->origin . '%' ); } if ($request->filled('destination')) { $query->where( 'destination', 'like', '%' . $request->destination . '%' ); } if ($request->filled('departure_date')) { $query->where( 'departure_date', $request->departure_date ); } if ($request->filled('flight_number')) { $query->where( 'flight_number', 'like', '%' . $request->flight_number . '%' ); } $flights = $query ->latest() ->paginate(12) ->withQueryString(); return view('flights.index', compact('flights')); } /** * جزئیات پرواز */ public function show(Flight $flight) { /* |-------------------------------------------------------------------------- | فعلاً isActive را حذف کردیم |-------------------------------------------------------------------------- | چون اگر متد isActive در مدل اشتباه باشد یا status متفاوت باشد | باعث 404 شدن صفحه می‌شود. */ $flight->load([ 'travelType', 'origin', 'destination', 'tours', ]); return view('flights.show', compact('flight')); } } // //namespace App\Http\Controllers; // //use App\Models\Flight; //use Illuminate\Http\Request; // //class FlightController extends Controller //{ // /** // * لیست پروازها // */ // public function index(Request $request) // { // $query = Flight::query() // ->where('status', 1) // ->with([ // 'travelType', // 'origin', // 'destination', // ]); // // // جستجو بر اساس شماره پرواز // if ($request->filled('flight_number')) { // $query->where( // 'flight_number', // 'like', // '%' . $request->input('flight_number') . '%' // ); // } // // // جستجو بر اساس مبدا // if ($request->filled('origin')) { // $query->where( // 'origin', // 'like', // '%' . $request->input('origin') . '%' // ); // } // // // جستجو بر اساس مقصد // if ($request->filled('destination')) { // $query->where( // 'destination', // 'like', // '%' . $request->input('destination') . '%' // ); // } // // // مرتب‌سازی // $flights = $query // ->latest() // ->paginate(12) // ->withQueryString(); // // return view( // 'flights.index', // compact('flights') // ); // } // // // /** // * جستجوی پروازها // */ // public function search(Request $request) // { // $query = Flight::query() // ->where('status', 1) // ->with([ // 'travelType', // 'origin', // 'destination', // ]); // // if ($request->filled('origin')) { // $query->where( // 'origin', // 'like', // '%' . $request->input('origin') . '%' // ); // } // // if ($request->filled('destination')) { // $query->where( // 'destination', // 'like', // '%' . $request->input('destination') . '%' // ); // } // // if ($request->filled('departure_date')) { // $query->where( // 'departure_date', // $request->input('departure_date') // ); // } // // $flights = $query // ->latest() // ->paginate(12) // ->withQueryString(); // // return view( // 'flights.index', // compact('flights') // ); // } // // // /** // * جزئیات پرواز // */ // public function show(Flight $flight) // { // // فقط پروازهای فعال قابل مشاهده باشند // if (!$flight->isActive()) { // abort(404); // } // // // اطلاعات مورد نیاز پرواز // $flight->load([ // 'travelType', // 'origin', // 'destination', // 'tours', // ]); // // return view( // 'flights.show', // compact('flight') // ); // } //}