我需要根据“作业”表获取失败作业列表,并使用“prealerts”表加入。唯一的中介是“包”表,它与“prealerts”共享一列,另一个与“jobs”共享。
结构如下:
All the structure mentioned before is here
filters.blade.php: (这里有一个复选框)
<input type="checkbox" name="failed" id="failedJobs" value="true"/>
我试图做的是:
JobRepositoriy.php:
public function search(array $filters = [])
{
.
.
.
.
$query = $this->model
->select('jobs.*')
->distinct();
.
.
.
.
if (isset($filters['failed']) && $filters['failed']){
$query->ofSuccess(false);
}
return $query->orderBy('jobs.id', 'desc');
}
jobs.php(型号):
public function scopeOfSuccess($query, $success){
return $query->join('packages', 'packages.job_id', '=', 'jobs.id')
->join('prealerts', 'prealerts.package_id', '=', 'packages.id')
->where('prealerts.created_at', '>=', '2017-01-01 00:00:00')
->where('prealerts.success', $success);
}
但是,显示的结果不符合前面提到的要求。