【问题标题】:How to pass parameter in Laravel Relationship Function within blade?如何在刀片内的 Laravel 关系函数中传递参数?
【发布时间】:2019-07-18 03:30:34
【问题描述】:

Student.php

收费很多

class student extends Model{
    public function fees($round){
        return $this->hasMany(fee::class)->where('payment_round','=',$round);
    }
}

Fee.blade.php

@foreach($student->fees("parameter") as $fee)
    {{$fee->myproperty}}
@endforeach

如何将参数传递给 $student->fees("parameter")?

【问题讨论】:

  • 您为什么不试一试并与我们分享您遇到的错误?例如$var = 'Hello'; @foreach($student->fees($var) as $fee) {{$fee->myproperty}} @endforeach
  • 它没有显示任何错误信息。它只是空的

标签: php laravel-5 laravel-blade laravel-5.7


【解决方案1】:

你可以保持关系尽可能简单,并添加第二种方法来获取你想要的数据:

<?php

class student extends Model{

    public function fees(){
        return $this->hasMany(fee::class);
    }

    public function getFeeByRound($round)
    {
        return $this->fees()->where('payment_round','=',$round)->get();
    }

}

然后你可以把它当作:

@foreach($student->getFeeByRound($parameter) as $fee)
   {{ $fee->myproperty }}
@endforeach

【讨论】:

    【解决方案2】:

    试试这样的:

    @foreach($student->fees($parameter)->get() as $fee)
       {{ $fee->myproperty }}
    @endforeach
    

    我认为您将相关模型集合 fees 与查询构造函数 fees() 混淆了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-29
      • 2015-11-16
      • 2013-01-06
      • 1970-01-01
      相关资源
      最近更新 更多