我试图从同一个类中的另一个函数访问函数变量。我对这个概念相当陌生,我可以让它在另一个函数中工作,但是当我尝试创建它自己的函数时,我得到了一个Trying to get property of non-object,我知道这意味着什么,但是它混淆了需要在函数中返回什么,因为它确实在我的其他函数中工作。
函数得到误差
public function getEditTotal($id) {
$techs = $this->technician();
$tech = $techs->tech;
var_dump($tech); die;
return View::make('report.edit', array('pageTitle' => 'Edit Report Total', 'id' => $id, 'tech' => $tech));
}`--我试图调用的函数
public function technician() {
$tech = DB::table('technician')
->get();
return $tech;
}在这个函数中,我有相同的$tech变量,如果我调用$this->setComplete($id),它工作得非常好。
在setComplete($id)函数中返回语句
return View::make('report.total', array('pageTitle' => 'Reporting', 'id' => $id, 'tech' => $tech, 'status' => $status));我确信这只是返回的方式,因为这个变量是在数组中的setComplete($id)中返回的。我只是不知道如何在technician()函数中严格地调用它。
发布于 2014-01-12 05:10:11
当您调用$techs = $this->technician();时,您将$techs设置为技术员函数中$tech变量的值。这将是DB::table(‘技术员’)->get()的结果;
理论上,这应该是一个对象数组,其中每个对象代表技术员表中的一行。
如果您想知道发生了什么事,请在技术员()函数中添加一个var_dump( $tech ),就在返回$tech语句之前。
由于您指示它正按预期工作,所以您将得到一个对象数组。我不知道你想用这些做什么,但是在控制器里面:
foreach ($techs as $tech) {
echo $tech->somefieldInTech;
}或者也许
echo $techs[0]->somefieldInTech;因此,要明确的是,在您的laravel模板中,您可能希望传递整个$techs并在模板中预先处理它,尽管从代码中还不清楚您需要对数据做什么。
https://stackoverflow.com/questions/21071483
复制相似问题