我正在使用laravel 5.5 / php 7.2 /
例如,我在模型中有这样的函数:
public function featuredTopSight($count=8)
{
return $this->hasMany(Sight::class)
->wherePublish(1)
->latest()
->take($count);
}
然后,在视图中:
$sight->featuredTopSight(8);
但我收到了这个错误:
"htmlspecialchars() expects parameter 1 to be string, object given
但是$sight->featuredTopSight;
我得到了正确答案。但是我无法传递参数。
答案 0 :(得分:1)
在该功能中,您定义了一种关系。
您无法通过参数调用关系。
首先,您需要声明关系,然后是查询结果的查询或方法。
您的方法应该类似于:
public function sights()
{
return $this->hasMany(Sight::class);
}
public function getFeaturedTopSights($count = 8)
{
return $this->sights()->wherePublish(1)->latest()->take($count)->get();
}