我对模型的参数方法有疑问。我有 2Page
和ContentTranslation
. 我想ContentTranslation
基于语言,所以我在Page
模型中有以下方法:
public function contentTranslations($language) {
return $this->hasMany('App\ContentTranslation')->where('language', $language);
}
然后我有一种方法PageController
可以根据语言获取页面:
public function getPagesByLanguage($language)
{
$pages = Page::orderBy('position', 'asc')->get();
foreach ($pages as $page) {
$page->contentTranslations($language);
}
$return $pages;
}
我以 JSON 格式返回我的结果(我使用 Laravel 作为 api)。但这种方法行不通。它向我抛出错误:
调用未定义的方法 Illuminate\Database\Query\Builder::contentTranslations()
前段时间,我想返回contentTranslations
所有语言,所以我在模型方法中没有参数,在调用foreach 循环contentTranslations
后一切正常。$page->contentTranslations;
为什么我在将参数传递给方法时遇到了麻烦?