Я использую laravel 6, и у меня есть метод, который возвращает производную таблицу. Я хочу использовать его в подзапросе. Когда я вызываю метод getSimilar
ниже, почему он оборачивает дополнительное предложение select?
public function __construct(Job $model)
{
$this->model = $model;
}
public function getJobs()
{
$query = $this->model
->join('job_status', 'job_status.job_id', '=', 'jobs.id')
->select('jobs.id', 'jobs.title', 'job_status.status');
return $query;
}
public function getSimilar()
{
$subQuery = $this->getJobs();
return DB::table(function ($query) use ($subQuery) {
$query->from($subQuery);
}, 't1')->where('t1.id', '<>', 6)->limit(5)->get();
}
Журнал запросов для метода getSimilar
, приведенного выше, возвращает:
select * from
(select * from
(select jobs.id
, jobs.title
, job_status.status
from jobs
inner join job_status
on job_status.job_id = jobs.id) as t1) as ``)
where t1.id <> 6
limit 5
Почему оборачивает дополнительный оператор выбора?
Любая помощь приветствуется.