Итак, у меня есть этот проект автомобиля Laravel с поиском. Я выполняю поиск с запросом DB::table()
, и он работает нормально, пока я не добавлю model relationship
. Я объясню, вот мой код.
Это мой поиск motoopremapretraga
функция:
/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
*/
public function motoopremapretraga(Request $request)
{
$autoQuery = DB::table('motoopremas');
//pretraga - marka i model
foreach ($request->only(['marka', 'model']) as $term => $value) {
if (empty($value)) {
continue;
}
$autoQuery->where($term, $value);
}
//pretraga - cijena od/do whereBetween
if (
$cijenaod = (int)$request->input('cijenaod')
&& $cijenado = (int)$request->input('cijenado')
) {
$autoQuery->whereBetween('cijena', [(int)$cijenaod = $request->input('cijenaod'), (int)$cijenado = $request->input('cijenado')]);
}
//pretraga - vrsta cijene
if ($vrsta_cijene = $request->get('vrsta_cijene')) {
$autoQuery->where('vrsta_cijene', $vrsta_cijene);
}
//pretraga - grupa opreme
if ($grupa_opreme = $request->get('grupa_opreme')) {
$autoQuery->where('grupa_opreme', $grupa_opreme);
}
//pretraga - djelovi
if ($tip = $request->get('tip')) {
$autoQuery->where('tip', $tip);
}
//pretraga - ostecenje
if ($ostecenje = $request->get('ostecenje')) {
$autoQuery->where('ostecenje', $ostecenje);
}
//pretraga - zamjena
if ($zamjena = $request->get('zamjena')) {
$autoQuery->where('zamjena', $zamjena);
}
//pretraga - stanje
if ($stanje = $request->get('stanje')) {
$autoQuery->where('stanje', $stanje);
}
//vracanje rezultata
$automobili = $autoQuery->get();
return view('site.motooprema.pretraga')->with('automobili', $automobili);
}
Вы видите, я использую DB::table('motoopremas')
, чтобы найти свои результаты из поиска, и в конце просто $automobili = autoQuery->get();
, чтобы указать мою переменную лезвия.
Хорошо, тогда это мой results blade view
действительно просто, чтобы показать, все ли работает нормально:
@foreach($automobili->where('deleted_at', null) as $auto)
{{$auto->naslov}}
@endforeach
И все работает хорошо, но когда я добавляю свои отношения из моей модели Motooprema.php
вот так:
@foreach($automobili->where('deleted_at', null) as $auto)
<!-- this is my relationship -->
@if($auto->sifraMotoopremaaktivnosts->first()->status == 1)
{{$auto->naslov}}
@endif
@endforeach
Это дает мне ОШИБКУ вот так:
Undefined property: stdClass::$sifraMotoopremaaktivnosts
И это это моя модель Motooprema.php
с этой sifraMotoopremaaktivnosts
связью:
public function sifraMotoopremaaktivnosts()
{
return $this->hasMany(Motoopremaaktivnost::class, 'sifra_id', 'id');
}
Я не знаю, что делаю не так, мне нужен этот поиск, и эта связь просто показывает активированные сообщения об автомобилях. Что мне делать?