我无法构建简单的Laravel查询。
我有translation
个类别(translation.category_id
是category.id
的外键)。 Moroever类别也有属性is_technical
。
我需要的是: - 获取翻译所在的所有翻译类别.is_technical = 1。
目前我正在接受此查询:
$match = ['lang1_code' => $langfrom, 'lang2_code' => $langto];
$translation = Translation::where($match)->orderByRaw("RAND()")->take(4)->get();
但是这个查询并没有加入类别(我在我的数据库和我的模型中都有关系)。那么如何加入类别并设置is_Technical = 1?
我认为这是一个基本问题,但我是Laravel的新手,我在文档中找不到答案。
答案 0 :(得分:2)
你需要哪里有。有关详细信息,请参阅Laravel文档 http://laravel.com/docs/5.1/eloquent-relationships
以下是一个示例,请更正您的型号名称。
//Translation.php
public function category() {
return $this->belongsTo('Category', 'category_id');
}
// query
$translation = Translation::whereHas('category', function($q) {
$q->where('is_technical', '=', 1);
})->where($match)->orderByRaw("RAND()")->take(4)->get();