Когда я запускаю этот код, он выдает мне ошибкуДостигнут максимальный уровень гнездования «1000», прерывается! на присоединиться + получить() даже настройки XDebug
$result = Commission::leftJoin("bill" , "bill.id" , "=" , "Commissions.bill_id")->selectRaw( $raw)->groupBy("Commissions.id")->get();
, но этот второй код работает отлично
$result = Commission::leftJoin("bill" , "bill.id" , "=" , "Commissions.bill_id")->selectRaw( $raw)->groupBy("Commissions.id")->get()->first();
даже я поставил ->take(10)
, до сих пор бросает меня погрешность
Максимальный уровень гнездования функции «1000» достигнут, прерывается!
как вы можете видеть на сообщении об ошибке, я установил xdebug.max_nesting_level до 1000
теперь, как говорится, мне нужно, чтобы получить все счета с тем же комиссиями ID, но функция get()
не позволит мне сделать это, если я не поставлю first()
. Мне интересно, что еще может вызвать эту ошибку? Буду признателен за любую оказанную помощь.
UPDATE
Я понял это. Спасибо, что помогли мне разобраться в возможных причинах. Во всяком случае, я должен объяснить, что произошло. Вышеприведенный код не имеет ничего общего с ошибкой (извинения, я недостаточно разбирался и должен спрашивать здесь).
У меня есть Controller.php
public function retrieve($type , $str = ''){
$base = new BaseReport();
$class = ($type == "BaseReport" ? "Reports\\" . $type : "Reports\\" . $base->getMap($type)) ;
$report = new $class();
return $report->getVariable($str);
}
public function retrieveData($items , $type , $where , $groupby)
{
$base = new BaseReport();
$class = ($type == "BaseReport" ? "Reports\\" . $type : "Reports\\" . $base->getMap($type)) ;
$report = new $class();
return $report->retrieveData($items , $where , $groupby);
}
И BaseReport.php
public function retrieveData($items , $where , $groupby = ''){
//SOME LONG CODE
//THIS IS THE CODE I STATED IN THE QUESTION
$result = $model->leftJoin($table , $table . "." $pk , "=" , $base_table . "." . $fk)
->selectRaw( $raw)
->groupBy($base_table . "." . $pk)
->get();
return $result;}
который я использовал последовательно где-то в моей странице
$base_ = "commissions"
$transactions = $print_format->retrieveData($fcs , $base_ . ".report" , $where , $table_group_by);
$cellItem = $print_format->retrieve($base . ".report" , $fcs[$i]);
И $print_format->retrieve
возвращается нуль и вызвала ошибку
Еще раз спасибо за разборку вещей.
Итак, каков ваш вопрос? – Daan
эти два фрагмента кода одинаковы –
Нет, они не являются @limonte, во втором примере он использует '-> first();' – Daan