Advertisement
Guest User

Untitled

a guest
Jan 23rd, 2018
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.24 KB | None | 0 0
  1. <?php
  2.  
  3. // controller
  4.  
  5. public function filters(Request $request) {
  6.     $result = $this->filterFlats($request);
  7.     return view('townflats.filter', [
  8.         'result' = $result
  9.     ]);
  10. }
  11.  
  12. public function filterFlats(Request $request) {
  13.     $metroID = $request->get('metro_id');
  14.     // здесь, в будущем, можешь добавлять новые геттеры для фильтров,
  15.     // дальше по аналогии с тем, как тут сделано
  16.     return TownFlat::byMetro($metro_id); // в будущем, TownFlat::byMetro(...)->byStreet(...) etc
  17. }
  18.  
  19. // в модели TownFlat
  20.  
  21. public function scopeByMetro($query, $id) {
  22.     if (!empty($id))
  23.         return $query->where('metro_id', $id);
  24.     return $query;
  25. }
  26.  
  27. /*
  28.  Ну типа все, должно заработать
  29.  А если бы понадобилось просто вытащить хаты по метро, то можно было бы в модели метро сделать отношение одно ко многим и спокойно, с помощь Metro::find($metro_id)->flats() получить список хат, например
  30. */
  31.  
  32. // это пример отношения
  33. public function flats() {
  34.     return $this->hasMany(TownFlat::class);
  35. }
  36.  
  37.  
  38. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement