Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Laravel 如何检索两个模型之间的关系,其他模型与它们都有多态关系_Laravel_Eloquent_Polymorphic Relationship - Fatal编程技术网

Laravel 如何检索两个模型之间的关系,其他模型与它们都有多态关系

Laravel 如何检索两个模型之间的关系,其他模型与它们都有多态关系,laravel,eloquent,polymorphic-relationship,Laravel,Eloquent,Polymorphic Relationship,我有这两个模型:标签和翻译,我有这两个表:标签,翻译,可翻译,标签模型使用可翻译 我的表列如下所示: translates: translatables: tags: id name lang | translate_id translatable_id translatable_type | id -- ---- ---- | ---------

我有这两个模型:
标签
翻译
,我有这两个表:
标签
翻译
可翻译
,标签模型使用可翻译

我的表列如下所示:

  translates:                      translatables:                            tags: 
id     name  lang   |  translate_id    translatable_id     translatable_type |  id
--     ----  ----   |  -------------   ---------------     ----------------- |  --
                    |                                                        |
我想编写一个函数,根据
app locale
获取标记的当前翻译,这意味着我应该根据可翻译表数据,使用
translateble\u id
translateable\u type
在翻译表中查找id,并根据lang获取名称。 你知道我怎么做吗

这是可翻译的特征:

trait Translatable{
    public function translates(){
        return $this->morphToMany(Translate::class,'translatable','translatables','translatable_id','translate_id');
    }
} 
这就是我获取区域设置的方式:

$locale=app()->getLocale();
我用querybuilder翻译标签,如:

$locale=app()->getLocale();
$tags=DB::table('translates as T')
       ->where('lang','=',$locale)
       ->join('translatables as R','R.translate_id','=','T.id')
       ->where('R.translatable_type','=','App\Models\Tag')
       ->join('tags as M','R.translatable_id','=','M.id')
       ->get();

但我想用一个模型和雄辩的函数。

你能更明确地说明你的关系是什么吗?tag->name与语言环境有何联系?在本例中,语言环境在哪里?@apokryfos如果您能看看编辑后的问题,我将不胜感激