雄辩的关系在开发环境中工作正常,但在生产服务器中显示错误:尝试从非对象获取属性

时间:2017-08-28 15:41:53

标签: php laravel laravel-5.4

我在Laravel的经验不足并面临一些奇怪的问题。 我一直在做一个简单的项目。在我在Windows上使用xampp的本地开发环境中,网站运行良好,但在将项目上传到实时服务器之后,某些关系无法正常工作,或者我应该说它们的行为方式非常奇怪。

下面的代码块返回错误:'尝试从非对象获取属性'就我而言。

@foreach($transactions as $transaction)
  <td>{{$transaction->Methodtype->name}}</td>
  <td>{{$transaction->Gateway->name}}</td>
@endforeach

我的控制器文件包含以下

public function transactions() {
    $transactions = Transaction::where(['trxndeleted' => '0'])->get();
    return view('layouts.pages.transactions', compact('transactions'));
}

然而,当我直接返回结果进行检查时,我得到了所需的数据。请参阅下文。

public function transactions() {
    $transactions = Transaction::where(['trxndeleted' => '0'])->get();
    return $transactions[0]->Methodtype;
}

我的交易和方法类型模型如下所示

交易模型:

public function Methodtype() {
    return $this->belongsTo('App\methodtype', 'methodtype_id');
}

Methodtype Model:

public function Transaction() {
    return $this->hasMany('App\Transaction', 'methodtype_id');
}

0 个答案:

没有答案