【发布时间】:2019-09-01 17:27:30
【问题描述】:
我正在使用 laravel 构建一个具有本地化功能的网站。尝试使用表单以 3 种语言存储名称和文本。每篇文章我都有一个模型,文章翻译还有一个模型。 使用名称和文本的输入,输入名称如 name_en、text_en、name_de、text_de 等... 但我不知道如何将输入值传递给控制器中 store 方法中的 foreach 循环。
我尝试将 (Request $request) 对象传递到 foreach 循环中,但它返回错误。代码如下:
public function store(Request $request)
{
$test = new Test;
$test->isActive = true;
$test->save();
//TRANSLATED INPUTS = name_tr,text_tr,name_en,text_en,name_de,text_de
foreach (['tr', 'en', 'de'] as $locale => $request)//OBVIOUSLY WRONG
{
$test->translateOrNew($locale)->name = $request->input('name_'.$locale);
$test->translateOrNew($locale)->text = $request->input('body_'.$locale);
}
$test->save();
dd($test);
//echo 'Created new article with some translations!';
}
试图从数据库中获取翻译后的输入。
【问题讨论】:
-
foreach已经可以通过依赖注入访问$request,您根本不需要将其作为值包含在您的foreach块中
标签: laravel foreach controller request