【问题标题】:How to Fix ErrorException in HasAttributes.php如何修复 HasAttributes.php 中的 ErrorException
【发布时间】:2019-09-27 06:18:09
【问题描述】:

我需要通过某种逻辑附加一个属性。所以我将getPercentageAttribute 函数写入App\User_Tax。代码是

protected $appends = 'percentage';

public function getPercentageAttribute()
{
    $p = SystemParameterSP::where([
      ['serviceprovider_id', $this->user_type_id]
    ])->first();
    if($p != null){
      return $p->value1;
    }
    else{
      $d = DB::table('user_taxes_dependencies')->where('system_tax_id', $this->system_tax_id)->first();
      return $d->percentage;
    }
}

然后我将User_Tax 模型传递给刀片。代码是

$user_taxes = User_Tax::where([
                                ['user_taxes.user_type', 3],
                                ['user_taxes.status', 1]
                            ])->get();

到刀片文件中,我需要将此 laravel 变量转换为 javascript 变量。

var user_taxes = {!! json_encode($user_taxes) !!};

如果我尝试转换,则会出现错误

ErrorException in HasAttributes.php line 207:
count(): Parameter must be an array or an object that implements Countable 

我无法解决这个错误。任何人都可以提出任何解决方案来解决它吗?

【问题讨论】:

  • 你能添加错误的整个堆栈跟踪吗?
  • 我无法将$user_taxes 转换为数组。我们不能转换成一个附加的数组吗?

标签: javascript laravel laravel-5 eloquent


【解决方案1】:

如果我理解正确,您需要先serialise 结果:

在您的模板中:

var user_taxes = '{!! $user_taxes->toJson() !!}';

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-06-05
    • 2021-07-21
    • 2019-05-25
    • 1970-01-01
    • 2017-10-12
    • 2015-05-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多