我不知道如何解释我的问题,但我会试一试。
我正在使用Laravel 5,我有3张桌子:
这就是我的模型: 页面模型:
public function languages()
{
return $this->belongsToMany('App\Language', 'language_page')
->withPivot('title', 'content', 'slug', 'meta_title', 'meta_description')
->orderBy('main', 'desc');
}
语言模型:
public function pages()
{
return $this->belongsToMany('App\Page')
->withPivot('title', 'content', 'slug', 'meta_title', 'meta_description');
}
我想要做的是从页面表中返回一条记录,其中language_id是某个id,而slug是某个文本。
这是我到目前为止所做的:编辑:
Page::with(['languages' => function($q) use($language_id, $slug) {
$q->where('language_id', $language_id);
$q->wherePivot('slug', $slug);
}])
->first();
我的问题:如何使用列slug(来自数据透视表language_page)添加where子句?
我希望这根本没有任何意义..
答案 0 :(得分:1)
Eloquent的BelongsToMany类有一个
wherePivot()
允许您直接将WHERE子句应用于数据透视表的方法,请参阅: