#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();