我正在用Laravel构建一个多语言应用程序,我需要用户能够登录并从选择字段中选择他们的首选语言(表“语言”)并将其存储在数据库中( “用户”表中的“language_id”),只需从字段中选择它即可。我目前不知道如何在没有表单和提交按钮的情况下实现这一点。有人可以向我解释我该如何正确地做到这一点?保存select on value Laravel
控制器:所有可用的语言都存储在一个变量中并发送到所有视图。
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>
数据库:“用户”表中有“LANGUAGE_ID”
因此,语言选择是登录表单的一部分? – Jerodev