Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [inny]Pomoc w wyszukiwarce, Laravel
casperii
post
Post #1





Grupa: Zarejestrowani
Postów: 681
Pomógł: 28
Dołączył: 14.08.2014

Ostrzeżenie: (0%)
-----


Panowie dopiero rozpoczynam przygodę z Laravel no i chciałbym się dowiedzieć jak rozbudować wyszukiwarkę ( na razie wyszukuje po miejscowości )
Chciałbym w wyszukiwarce mieć miejscowość (to już jest) oraz stanowisko lub branże , które należy wyciągać z tabel :

position_groups ( id, name)

1 , pracownik fizyczny

---

positions ( id, position_group_id, name )

1, 1 , malarz

---

jobs ( id, name, user_id, city_id, position_id, position_group_id )

1, Poszukiwany na już malarz, 1, 1, 1, 1


kod w pliku FrontendRepository.php

  1. public function getSearchResults( string $city)
  2. {
  3. return City::with(['jobs'])->where('name',$city)->first() (IMG:style_emoticons/default/questionmark.gif) false;
  4. }



kod z pliku City.php

  1. <?php
  2.  
  3. namespace App;
  4.  
  5. use Illuminate\Database\Eloquent\Model;
  6.  
  7. class City extends Model
  8. {
  9. protected $guarded = [];
  10. public $timestamps = false;
  11.  
  12. public function jobs()
  13. {
  14. return $this->hasMany('App\JobOffer');
  15. }
  16.  
  17. }


oraz kod z pliku JobOffer.php
  1. <?php
  2.  
  3. namespace App;
  4.  
  5. use Illuminate\Database\Eloquent\Model;
  6. use Illuminate\Support\Facades\Auth;
  7.  
  8.  
  9. class JobOffer extends Model
  10. {
  11. protected $table = 'jobs';
  12. public $timestamps = false;
  13.  
  14. use Job\Presenters\ObjectPresenter;
  15.  
  16. public function scopeOrdered($query)
  17. {
  18. return $query->orderBy('name', 'asc');
  19. }
  20.  
  21. public function city()
  22. {
  23. return $this->belongsTo('App\City');
  24. }
  25.  
  26. public function region()
  27. {
  28. return $this->belongsTo('App\Region');
  29. }
  30.  
  31. public function province()
  32. {
  33. return $this->belongsTo('App\Province');
  34. }
  35.  
  36. public function country()
  37. {
  38. return $this->belongsTo('App\Country');
  39. }
  40.  
  41. public function agreement()
  42. {
  43. return $this->belongsTo('App\Agreement');
  44. }
  45.  
  46. public function agreementType()
  47. {
  48. return $this->belongsTo('App\AgreementType');
  49. }
  50.  
  51. public function work()
  52. {
  53. return $this->belongsTo('App\Work');
  54. }
  55.  
  56. public function position()
  57. {
  58. return $this->belongsTo('App\Position');
  59. }
  60.  
  61. public function positionGroup()
  62. {
  63. return $this->belongsTo('App\PositionGroup');
  64. }
  65.  
  66. public function user()
  67. {
  68. return $this->belongsTo('App\User');
  69. }
  70.  
  71. public function photos()
  72. {
  73. return $this->morphMany('App\Photo', 'photoable');
  74. }
  75. }



Czyli wpisując w input np malarz przeszuka mi w tabeli jobs z kolumny name name like wpisany% lub jeżeli ktoś wpiszę pracownik fizyczny to znajdzie to z tabeli position_groups lub z tabeli positions z kolumny name.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.12.2025 - 23:15