【发布时间】:2017-02-17 10:49:29
【问题描述】:
我正在使用 Laravel 构建一个多语言应用程序,我需要用户能够登录并从选择字段中选择他们的首选语言(表“语言”)并存储在数据库中(表中的“语言 ID” “用户”)只需从字段中选择它。我目前不知道如何在没有表单和提交按钮的情况下实现这一目标。有人可以向我解释如何正确地做到这一点吗?
控制器:所有可用语言都存储在一个变量中并发送到所有视图。
namespace App\Http\Controllers;
use App\Language;
use Illuminate\Foundation\Bus\DispatchesJobs;
use Illuminate\Routing\Controller as BaseController;
use Illuminate\Foundation\Validation\ValidatesRequests;
use Illuminate\Foundation\Auth\Access\AuthorizesRequests;
use Illuminate\Support\Facades\View;
class Controller extends BaseController
{
use AuthorizesRequests, DispatchesJobs, ValidatesRequests;
public function __construct()
{
$languages = Language::all();
View::share('languages', $languages);
}
}
菜单选择:一个 foreach 循环,使用通过控制器发送的语言填充选择字段。
<li>
<select class="form-control" id="language" name="language">
@foreach ($languages as $language)
<option value="{{ $language->id }}">{{ $language->name }}</option>
@endforeach
</select>
</li>
数据库:“users”表有“language_id”
【问题讨论】:
-
所以语言选择是登录表单的一部分?
标签: php laravel laravel-5 controller views