首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >返回函数Laravel 4中的对象

返回函数Laravel 4中的对象
EN

Stack Overflow用户
提问于 2014-01-12 05:00:12
回答 1查看 248关注 0票数 1

我试图从同一个类中的另一个函数访问函数变量。我对这个概念相当陌生,我可以让它在另一个函数中工作,但是当我尝试创建它自己的函数时,我得到了一个Trying to get property of non-object,我知道这意味着什么,但是它混淆了需要在函数中返回什么,因为它确实在我的其他函数中工作。

函数得到误差

代码语言:javascript
复制
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));
}`

--我试图调用的函数

代码语言:javascript
复制
public function technician() {
    $tech = DB::table('technician')
            ->get();

    return $tech;
}

在这个函数中,我有相同的$tech变量,如果我调用$this->setComplete($id),它工作得非常好。

在setComplete($id)函数中返回语句

代码语言:javascript
复制
return View::make('report.total', array('pageTitle' => 'Reporting', 'id' => $id, 'tech' => $tech, 'status' => $status));

我确信这只是返回的方式,因为这个变量是在数组中的setComplete($id)中返回的。我只是不知道如何在technician()函数中严格地调用它。

EN

回答 1

Stack Overflow用户

发布于 2014-01-12 05:10:11

当您调用$techs = $this->technician();时,您将$techs设置为技术员函数中$tech变量的值。这将是DB::table(‘技术员’)->get()的结果;

理论上,这应该是一个对象数组,其中每个对象代表技术员表中的一行。

如果您想知道发生了什么事,请在技术员()函数中添加一个var_dump( $tech ),就在返回$tech语句之前。

由于您指示它正按预期工作,所以您将得到一个对象数组。我不知道你想用这些做什么,但是在控制器里面:

代码语言:javascript
复制
foreach ($techs as $tech) {
    echo $tech->somefieldInTech;
}

或者也许

代码语言:javascript
复制
echo $techs[0]->somefieldInTech;

因此,要明确的是,在您的laravel模板中,您可能希望传递整个$techs并在模板中预先处理它,尽管从代码中还不清楚您需要对数据做什么。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21071483

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档