Laravel:关系中的变量

nr7wwzry  于 2023-04-07  发布在  其他
关注(0)|答案(1)|浏览(95)

是否可以在关系模型中插入变量?
我有一个数据结构,其中我有一个主表,并链接到它,我有多个翻译记录,在每种语言。
也就是说,在ContentLanguages中有一个用于多条记录的Content表 table。
是否可以在内容表中执行此关系?

public function language($lang = 1)
{
    return $this->hasOne(AppInitLang::class)
        ->where('language_id', $lang);
}

如果是这样,我该如何发送$lang变量?

w8f9ii69

w8f9ii691#

你不能完全按照你所描述的方式来做(例如,作为一个急切的加载)。
如果用户选择了$lang变量并将其存储在配置文件中,您可以执行以下操作:

public function language()
{
    return $this->hasOne(AppInitLang::class)
        ->where('language_id', Auth::user()->lang);
}

如果这不起作用,您也可以创建一个函数来返回该语言,但它不会很急切。

public function language($lang = 1)
{
    return AppInitLang::where('language_id', $lang)->where('id', $this->id)->first();
}

相关问题