как зациклить laravel с помощью функции ()?

#php #laravel #relation

#php #laravel #отношение

Вопрос:

У меня проблема, это мой код: я редактирую свой квест.

// все еще ошибка, потому что $ x — это массив.

 $x = [$arr[0], $arr[1],$arr[2],$arr[3]]; 
  

верните $this-> with($x)->where(‘parent_id’, ‘=’, null)-> get();

// все в порядке. но я хочу зациклить $ arr внутри laravel с помощью функции.

 return $this->with($arr[0], $arr[1],$arr[2],$arr[3])->where('parent_id', '=', null)->get();
  

Ответ №1:

Создайте отдельный массив и выполните цикл, который:

 $array = [
    [$child => function ($query) {
        $query->whereIn('id', $this->collectID);
    }],
    [$child . '.' . $child => function ($query) {
        $query->whereIn('id', $this->collectID);
    }],
    [$child . '.' . $child . '.' . $child => function ($query) {
        $query->whereIn('id', $this->collectID);
    }],
    [$child . '.' . $child . '.' . $child . '.' . $child => function ($query) {
        $query->whereIn('id', $this->collectID);
    }],
    [$child . '.' . $child . '.' . $child . '.' . $child . '.' . $child => function ($query) {
        $query->whereIn('id', $this->collectID);
    }]
];
// loop through $array, do what you need and than pass it to the with method below
return $this->with($array)->whereNull('parent_id')->get();
  

Комментарии:

1. Спасибо, но я все еще в замешательстве.

2. объясните, пожалуйста, почему.

3. я все еще не могу выполнить цикл внутри функции, вот мой код: return $this->with($arr[0], $ arr[1], $ arr[2], $ arr [3])->where(‘parent_id’, ‘=’, null)-> get();