Для цикла не работает $ AllPathsTasgs имеет 2 массива. Итак, count ($ AllPathsTasgs) вернет 2 my, а я возвращаю 2 пути, поэтому сначала следует использовать
$x == 0
Затем следует использовать
$x == 1
но он использует
$x == 1
Для эвакуатора пути не знают, почему
, хотя я использовал dd ($ x);и он возвращает $ x правильно
любая помощь, пожалуйста
foreach ($paths as $path){
$AllPathsTasgs[] = $path->pathtags->pluck('name');
}
$posts3 = Path::with(['ProgrammingField','pathtags' => function ($q) use ($AllPathsTasgs) {
for ($x = 0; $x < count($AllPathsTasgs); $x++) {
if ($x == 0) {
$q->with(['Tasks' => function ($q) use ($AllPathsTasgs, $x) {
$q->has('tasktags', '=', 2)
->orderBy('id', 'ASC')
->whereDoesntHave('tasktags', function ($query) use ($AllPathsTasgs, $x) {
$query->whereNotIn('name', $AllPathsTasgs[0]);
})->with('tasktags')->orderBy('id', 'ASC');
}]);
}
if ($x == 1) {
$q->with(['Tasks' => function ($q) use ($AllPathsTasgs, $x) {
$q->has('tasktags', '=', 2)
->orderBy('id', 'ASC')
->whereDoesntHave('tasktags', function ($query) use ($AllPathsTasgs, $x) {
$query->whereNotIn('name', $AllPathsTasgs[1]);
})->with('tasktags')->orderBy('id', 'ASC');
}]);
}
}
}])->whereIn('id',$pathId)->get();