App \ PageList :: coupon必须在laravel 5.5中返回一个关系实例

时间:2018-04-05 18:30:40

标签: php laravel

我正在尝试从数据库中获取count()但我收到错误。 我想找到is_ordered字段中有多少N.

我的模特看起来像:

public function coupon()
{
    return $this->hasOne('App\PageCoupon','page_id','business_id')
                ->where('is_ordered','N')->count();
}

和我的刀片视图:

 <p>{{optional($value->coupon)->is_ordered}}</p>

我无法找到解决方案。 非常感谢您的帮助!

public function pageListHere()
{
    $list = PageList::all();
    return view('page-list',compact('list'));
}

              class PageList extends Model
   {
       protected $table = 'page_master';


     protected $fillable = ['business_id', 'page_url', 'page_name'];

public function particulars()
{
    return $this->hasOne('App\Sale','user_id','business_id');
}
public function coupon()
{
    return $this->hasOne('App\PageCoupon','page_id','business_id');
}


}

2 个答案:

答案 0 :(得分:0)

您可以尝试这样做。 保留你的第一个功能优惠券:

    public function coupon()
    {
        return $this->hasOne('App\PageCoupon','page_id','business_id')->where('is_ordered','N');
    }

然后你可以有第二个功能:

public function couponCount()
{
    return $this->coupon->count(); 
}

之后你可以在你的变量的刀片中使用它,如下所示:$ coupon-&gt; couponCount();

答案 1 :(得分:0)

你的代码和你想要的东西有点令人困惑。试试这个:

<强> PageList.php

public function coupon()
{
    return $this->hasMany('App\PageCoupon','page_id','business_id');
}

<强>控制器

public function pageListHere()
{ 
    $list = PageList::all();
    return view('page-list',['list'=>$list]);
}

查看

@foreach($list as  $listItem)
 <p>{{$listItem->coupon()->where('is_ordered','N')->count()}}</p>
@endforeach