Я работаю над проектом в Laravel 6.2. У меня две модели.
- Работа
- Компания
Что я хочу сделать, это получить все работы, где название должности соответствует something
и company city
равно something
. Проблема в том, что он получает всю работу с компаниями, но если я укажу неправильный company city
, он все равно получит записи. Короче говоря, состояние внутри with
не работает. Что я сделал до сих пор:
Модель> Работа. php
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Job extends Model
{
// user
public function user()
{
return $this->belongsTo('App\User');
}
// company
public function company()
{
return $this->belongsTo('App\Company');
}
}
Модель> Компания. php
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Company extends Model
{
// user
public function user()
{
return $this->belongsTo('App\User');
}
// job
public function job()
{
return $this->hasMany('App\Job');
}
}
JobController> поиск
public function search(Request $request)
{
$jobs = Job::where('title', 'like', '%' . $request->q . '%')
->with(['company' => function($q) use ($request) {
$q->where('city', $request->city);
}])
->get();
return view('jobs.view')->withJobs($jobs);
}