我有这个新的 Laravel 项目要处理。我们希望提供多种语言版本。
我用 JetStream 开始了这个项目。JetStream / Fortify 会自动处理身份验证路由等。然后我添加了https://github.com/mcamara/laravel-localization来处理本地化。它适用于我自己创建的路线:
Route::group(
[
'prefix' => LaravelLocalization::setLocale(),
'middleware' => [ 'localeSessionRedirect', 'localizationRedirect', 'localeViewPath' ]
], function()
{
Route::get('/', function () {
return view('welcome');
});
Route::middleware(['auth:sanctum', 'verified'])->get('/dashboard', function () {
return view('dashboard');
})->name('dashboard');
});
Run Code Online (Sandbox Code Playgroud)
但是如何在 Jetstream 和 Fortify 处理的路由上设置组、前缀和中间件?
[编辑]
因此,在@TEFO 提出一些建议之后,我正在尝试添加一个中间件来处理语言环境的设置。添加 :
强化.php :
'path' => '{lang}',
'middleware' => ['web', 'setLang']
Run Code Online (Sandbox Code Playgroud)
新的中间件 setLang :
class SetLang {
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure …Run Code Online (Sandbox Code Playgroud) localization laravel laravel-localization laravel-8 laravel-jetstream
我使用 Jetstream 设置了 Laravel 8 安装并实现了自定义用户注册,在成功创建数据库记录后会触发一个事件event(new Registered($user));。
初始注册过程应该不需要密码,因为将来只有选定的一组用户能够登录仪表板。
注册后,用户会收到一封包含验证链接的电子邮件,但他仍然需要登录才能进行验证。
我尝试删除 中的身份验证中间件routes/web.php,但是在尝试验证用户电子邮件地址后收到一条错误消息。
Route::get('/email/verify/{id}/{hash}', function (EmailVerificationRequest $request) {
$request->fulfill();
return view('home');
})->middleware(['auth','signed'])->name('verification.verify');
Run Code Online (Sandbox Code Playgroud)
是否可以在没有登录信息的情况下验证用户的电子邮件地址?
设置:将数据库从 laravel 7 迁移到 laravel 8、Jetstream with Teams (php artisan jetstream:install惯性 --teams)、inertia.js
\nIlluminate\\Database\\Connection::runQueryCallback\nvendor/laravel/framework/src/Illuminate/Database/Connection.php:671`\n\nIlluminate\\Database\\QueryException\nSQLSTATE[42S22]: Column not found: 1054 Unknown column \'current_team_id\' in \'field list\' (SQL: update `users` set `current_team_id` = 1, `users`.`updated_at` = 2020-10-08 21:22:00 where `id` = 5)\nRun Code Online (Sandbox Code Playgroud)\n/* @throws \\Illuminate\\Database\\QueryException */ \nprotected function runQueryCallback($query, $bindings, Closure $callback)\n{\n // To execute the statement, we\'ll simply call the callback, which will actually\n // run the SQL against the PDO connection. Then we can calculate the time it\n // took …Run Code Online (Sandbox Code Playgroud) 我正在使用 Laravel 8 和 Tailwind CSS。尝试根据文档自定义默认分页视图。使用 发布了视图php artisan vendor:publish --tag=laravel-pagination,但它仍然使用默认视图,而不是发布的视图。我还尝试通过添加到 AppServiceProvider:boot() 方法来显式指定分页器的默认视图,如文档中所述
Paginator::defaultView('resources/views/vendor/pagination/tailwind.blade.php');。这也是行不通的。清除缓存没有帮助。
我想在将视图 ( php artisan vendor:publish --tag=jetstream-views) 从resources/views/vendor/jetstream/components发布到resources/views/path/to/jet/comps后更改默认的 Jetstream 组件
我想做的是从数据库获取一些数据并将其显示在Input Value字段中,但这里的问题是当我使用wire:model='some_input_name'该值时不会显示。如果我删除 wire:model它会显示value
代码:
<div class="form-group">
<label for="site_name">Site Name</label>
<input wire:model='site_name' type="text" name="site_name" id="site_name"
class="form-control"
placeholder="Site Name" value="{{$settings->site_name}}">
</div>
Run Code Online (Sandbox Code Playgroud)
这里有什么问题吗??将输入字段与 Livewire 组件绑定时显示值的正确方法是什么?
我的应用程序需要管理员能够为用户创建注册访问权限。这意味着该帐户已为他们“创建了一半”。在此过程中,确定了团队分配。在此过程结束时将生成一个链接,以允许用户完成帐户注册。
$user = App\Models\User::create(array(
'name' => 'New Person',
'email' => 'mail@example.com',
'password' => Hash::make(hex2bin(random_bytes(32)),
'callsign' => 'New C/S',
'team' => 1,
'company' => 'Their company'
));
$teamToAssign = App\Models\Team::find(1); // This gets passed in but for demonstration purposes, assume its the first team
$teamToAssign->users()->attach($user, array('role' => 'participant'));
Laravel\Jetstream\Events\TeamMemberAdded::dispatch($teamToAssign, $user);
Run Code Online (Sandbox Code Playgroud)
上述帐户创建工作正常,但是,Jetstream 需要一个“个人团队”,如果用户有“当前团队”,则可以忽略该“个人团队”。我在 Jetstreams 的文档中找不到用于设置用户当前团队的用法。
我努力了:
$user->currentTeam = $teamToAssign;
$user->update();
Run Code Online (Sandbox Code Playgroud)
但这是行不通的。我知道我可以使用直接数据库查询来更新当前团队,但更喜欢 Eloquent 方法。如何将我的团队分配给用户currentTeam?文档仅提到如何查看用户当前的团队。
我正在学习 Laravel 并使用 Laravel 8 和 Jetstream。在 XAMPP 上测试应用程序时,CSS 不会在登录/注册页面上加载。css 链接指向 localhost/app/css 位置。如果我使用php artisan serve命令它工作正常,但在 XAMPP 上不起作用。如何更正 css 指针,使其能够与php artisan serve命令和 XAMPP 一起使用?
生产时出现页面已过期 419。我尝试运行php artisan clear:cache、php artisan config:cache、php artisan key:generate,并使用相同的域更改SESSION_DOMAIN,但页面仍然错误
如果我停用 CSRF 中间件,它不会出现错误,但我无法转到下一页。
我可以在本地运行它,但是当我在本地使用生产数据库时,会出现相同的错误页面。
我刚刚创建的系统有一个大问题。
我使用 docker 和 laravel sail 进行了 Laravel 8 with jetstream 的标准安装...
但是,我无法执行npm run hot或npm run watch自动重新加载或浏览器同步...
我的文件是 laravel 8 的标准文件,我还没有对代码进行任何更改。
信息:
我的webpack.mix.js样子是这样的:
const mix = require('laravel-mix');
/*
|--------------------------------------------------------------------------
| Mix Asset Management
|--------------------------------------------------------------------------
|
| Mix provides a clean, fluent API for defining some Webpack build steps
| for your Laravel applications. By default, we are compiling the CSS
| file for …Run Code Online (Sandbox Code Playgroud) laravel ×9
php ×5
laravel-8 ×4
components ×1
inertiajs ×1
localization ×1
mysql ×1
tailwind-css ×1
vue.js ×1
webpack ×1
xampp ×1