在我的Laravel项目中
我有一个Sale
关系的payments
模型
public function payments(): Relation
{
return $this->hasMany(Payment::class);
}
现在我想要此功能
private function getPaymentsQuery()
{
return $this
->payments()
->where('a', 1);
}
所以我可以像这样进一步链接
$sale->getPaymentsQuery()->where('b', 1)->get();
这个想法可行,但是getPaymentsQuery函数返回一个类
\ Illuminate \ Database \ Eloquent \ Relations \ Relation;
但我希望成为
\ Illuminate \ Database \ Eloquent \ Builder
因为您知道,关系也可以作为属性来访问,并且属性可以用于急切的加载中,所以有一天我会出错。
答案 0 :(得分:0)
对班级进行虚警
\ Illuminate \ Database \ Eloquent \ Relations \ Relation;
有一个专门的方法
->getQuery()