Здравствуйте, я создаю систему фильтров, поэтому у меня есть поле выбора, где я могу выбрать свои параметры, а затем нажать кнопку и перейти на другую страницу, где я могу увидеть все свои результаты.
здесь частьмой контроллер
public function getValues(Request $request){
$typ=$request->get('typ');
$stellentyp=$request->get('stellentyp');
$bereich=$request->get('bereich');
$abschluss=$request->get('abschluss');
$view = 'user.'.$stellentyp;
$row = DB::table('angebots')
->where('stellentyp', $stellentyp)
->count();
$fwds = DB::table('angebots')
->where('stellentyp', 'Freiwilligendienst')
->where('typ', $typ)
->where('bereich', $bereich)
->where('abschluss', $abschluss)
->orderBy('stellenname', 'asc')
->get();
$jobs = DB::table('angebots')
->where('stellentyp', 'Job')
->where('typ', $typ)
->where('abschluss', $abschluss)
->where('bereich', $bereich)
->orderBy('stellenname', 'asc')
->get();
но у меня сейчас проблема, я хочу, чтобы, если мое поле пустое, оно не фильтровало
, вот так
if(empty($request->get('typ'))){}
else{->where('typ', $typ)}
, но это не такработать, я не знаю, как я могу собрать свои записи в базе данных с if / else?Кто-нибудь знает, как это может работать?
спасибо!
Я изменил свою функцию, как это, но я получаю ошибку
public function getValues(Request $request){
$typ=$request->get('typ');
$stellentyp=$request->get('stellentyp');
$bereich=$request->get('bereich');
$abschluss=$request->get('abschluss');
$user = DB::table('users')->get();
$angebots = DB::table('angebots') ->orderBy('stellenname', 'asc');
if(!empty($request->get('stellentyp'))){
$angebots->where('stellentyp', $stellentyp);
}
$angebots->get();
$row = $angebots->count();
return view('user/angebots', compact('typ', 'stellentyp', 'bereich', 'abschluss', 'row', 'angebots', 'user'));
}
, если я поставлю get после этоговот так
$angebots = DB::table('angebots') ->orderBy('stellenname', 'asc')->get();
У меня нет ошибки, но если я поставлю ее после, если он покажет мне эту ошибку:
Неопределенное свойство: Illuminate \ Database \ MySqlConnection :: $ firma (View: C: \ wamp \ sites \ j4ylara \ resources \ views \ user \ angebots.blade.php)
это мое мнение:
{{$row}} Angebote insgesamt
<div class="row">
@foreach ($angebots as $angebot)
<div class="col-12 col-md-6 col-lg-4 pt-4">
<div class="card offer-card">
<div class="card-image">
<img class="img-fluid" src="{{ asset('uploads/avatars/' . $user[$angebot->firma -1]->avatar) }}">
</div>
<div class="card-body">
<h4 class="text-j4y-dark praktikumstitel">{{ $angebot->stellenname }}</h4>
<a href="{{ route('angebot.details',['id'=>$angebot->firma]) }}">Jetzt mehr anzeigen »</a>
</div>
</div>
</div>
@endforeach
</div>
, если я закомментирую переменную $ angebotвсе работает
, поэтому у меня есть переменная $ row, и она показывает мне, сколько результатов я получаю, и если я отфильтрую, она показывает правильное количество результатов
, но как я могу отобразить свои результаты сейчас?если foreach не работает ???