假设我在DB中有三个表(和三个模型)。
然后我定义了这些关系和范围:
目标
view.getInstructions().setText("Scores: ");
区域
public function getRegion(){
return $this->belongsTo('App\Models\Region', 'region_id')->translate();}
public function scopeTranslate($query){
return $query->join('translations', function($join){
$join->on('destinations.id', '=', 'translations.destination_id')
->where('language_code', app()->getLocale());
})->select('destinations.*', 'translations.value as translated_title');}
然后我在两者上获取目的地和急切的翻译。
public function scopeTranslate($query){
return $query->join('lm_translations', function($join){
$join->on('regions.id', '=', 'lm_translations.region_id')
->where('language_code', app()->getLocale());
})->select('regions.*', 'lm_translations.value as translated_title');}
问题: 当渴望加载时,Region会从目标转换,但如果我加载它,通常一切都很好。
我直接在数据库中运行查询并按原样执行,这意味着急切加载并未正确连接关系。
渔获物在哪里?