Я объявил переменную, которая в основном является запросом выбора, и мне нужно скопировать эту родительскую переменную в другую, а затем добавить некоторые условия where в эту скопированную переменную. Дело в том, что мои условия where применяются к первой переменной, а не к той, которую я хотел бы.
//main query
$query = News::select('news.id','news.created_at','news.idCategory')->with('newsTranslations');
if ($request->has('categories')) {
$query = $query->whereIn('news.idCategory', $input['categories']);
}
if ($request->has('jobCategories')) {
$query = $query->join('jobCategories_News','news.id','=','jobCategories_News.idNews')
->whereIn('jobCategories_News.idjobCategories', $input['jobCategories']);
}
$chartquery = $query; // copy of parent query variable
$chartquery= $chartquery->leftJoin('newsInteractions','news.id','=','newsInteractions.idNews');
//subqueries (applied to $query instead of $chartquery)
$vis_like = $chartquery->where('liked','=',1)->where('visualizationDate','!=', NULL)->count();
$no_vis_like= $chartquery->where('liked','=',1)->where('visualizationDate','=', NULL)->count();
$dislike = $chartquery->where('liked','=',0)->count();
$vis_no_like= $chartquery->where('liked','=',NULL)->where('visualizationDate','!=', NULL)->count();