我总是使用var_dump
调试我的代码,并经常var_dump
进行调试。
到目前为止,我一直在使用Laravel大约一个月,从第一天开始,我遇到了无限递归的烦人情况,这让我重新启动计算机。
我仍然不确定是什么导致这种情况,但可能是Eloquent系列。让我写这个问题的最后一段代码是:
model Applicant.php
public function resumes(){
return $this->hasMany('\MyApp\Resume');
}
我将$applicant
保存到会话中,并在视图中保存:
var_dump(Session::get('applicant')->resumes());
我理解正确的方法是->resumes
,称它为属性而不是方法,但我很想知道为什么这会让我的Ubuntu崩溃,内存不足,迫使我重新启动。
有没有办法配置工匠来防止这种情况发生?它为什么会发生?!
@edit
当我执行不使用->get()->all()
var_dump(Model::where('field',$val));
答案 0 :(得分:1)
您可以尝试将模型密钥保存到会话而不是模型吗?
Session::put('applicant_id',$applicant->getKey());
然后何时检索
public function getApplicantFromSession() {
static $applicant;
if(is_null($applicant)) {
$applicant = Applicant::find(Session::get('applicant_id'));
}
return $applicant;
}
然后要获得简历,我会使用:
public function getApplicantResumes() {
$applicant = $this->getApplicantFromSession();
if(!is_null($applicant)) {
return $applicant->resumes;
}
return collect([]);
}