小编Kar*_*ill的帖子

URL参数与Laravel一起传递

我想访问像...这样的页面

http://mysitelocaltion/user_name/user_id
Run Code Online (Sandbox Code Playgroud)

这只是一个虚拟链接,我使用.htaccess -rewrite规则在内部传递"user_name"和"use_id"作为我实际页面的get参数.

我如何在Laravel中实现同样的目标?

更新: 这将有助于(文档)

Route::get('user/(:any)/task/(:num)', function ($username, $task_number) {
    // $username will be replaced by the value of (:any)
    // $task_number will be replaced by the integer in place of (:num)
    $data = array(
        'username' => $username,
        'task' => $task_number
    );
    return View::make('tasks.for_user', $data);
});
Run Code Online (Sandbox Code Playgroud)

php laravel

9
推荐指数
1
解决办法
7680
查看次数

在文件夹内调用 Laravel Seeder

我已升级到 Laravel 8,但子目录中的自定义播种器无法正常工作。该文件位于database/seeders/tests/TestSeeder.php.

当我运行该命令时php artisan db:seed --class="TestSeeder",它返回一条错误消息:

Target class [Database\Seeders\TestSeeder] does not exist.
Run Code Online (Sandbox Code Playgroud)

播种机

<?php

namespace Database\Seeders\Tests;

class TestSeeder extends BaseSeeder
{
    /**
     * Run the database seeds.
     *
     * @return void
     */
    public function run()
    {
       // codes
    }
}
Run Code Online (Sandbox Code Playgroud)

作曲家.json

"autoload": {
    "psr-4": {
        "App\\": "app/",
        "Database\\Factories\\": "database/factories/",
        "Database\\Seeders\\": "database/seeders/",
        "Database\\Seeders\\Tests\\": "database/seeders/tests/"
    }
},
Run Code Online (Sandbox Code Playgroud)

php laravel laravel-seeding laravel-8

9
推荐指数
1
解决办法
1万
查看次数

如何在Laravel 5.2中使用不同的数据库表列名进行登录?

我必须在Laravel 5.2中实现登录功能.我使用官方的Laraval文档成功完成了这项工作,除了我不知道如何使用不同的数据库表列名称验证用户,即st_usernamest_password.

我在互联网上寻找线索,但无济于事.我不知道我需要使用哪个类(比如,使用Illuminate .......)来验证.如果有人知道答案,请告诉我.

这是我的代码:

登录视图

@extends('layouts.app')
@section('content')

<div class="contact-bg2">
    <div class="container">
        <div class="booking">
            <h3>Login</h3>
            <div class="col-md-4 booking-form" style="margin: 0 33%;">
                <form method="post" action="{{ url('/login') }}">
                    {!! csrf_field() !!}

                    <h5>USERNAME</h5>
                    <input type="text" name="username" value="abcuser">
                    <h5>PASSWORD</h5>
                    <input type="password" name="password" value="abcpass">

                    <input type="submit" value="Login">
                    <input type="reset" value="Reset">
                </form>
            </div>
        </div>
    </div>

</div>
<div></div>


@endsection
Run Code Online (Sandbox Code Playgroud)

AuthController

namespace App\Http\Controllers\Auth;

use App\User;
use Validator;
use App\Http\Controllers\Controller;
use Illuminate\Foundation\Auth\ThrottlesLogins;
use Illuminate\Foundation\Auth\AuthenticatesAndRegistersUsers;

class AuthController extends Controller
{
    use AuthenticatesAndRegistersUsers, ThrottlesLogins;

    protected $redirectTo = …
Run Code Online (Sandbox Code Playgroud)

php laravel laravel-5 laravel-5.2

8
推荐指数
1
解决办法
1万
查看次数

强制注销 Laravel 中的所有用户

如何强制所有用户在 SPA 中注销?我想要这样,当我部署新版本时,所有用户都会自动注销。

我尝试了以下方法,但我不确定这是否是最安全的方法。

php artisan key:generate
Run Code Online (Sandbox Code Playgroud)

php laravel vue.js laravel-5 laravel-artisan

8
推荐指数
2
解决办法
7764
查看次数

Laravel 5.8 .env.testing文件不起作用

我使用凭据创建了一个.env.testing文件,除了数据库的表名称不同之外,其他所有内容都与.env相同。

我尝试php artisan config:clear删除其中的缓存配置文件bootstrap/cache/config.php,但它断开了数据库连接。如果我通过运行php artisan config:cache缓存的文件重新缓存文件,则返回该文件,但是.env.testing文件中没有凭据。当我重新运行PHPUnit时,它将连接到错误的数据库,该数据库名称存储在.env中,而不是.env.testing中。

这是真的吗?最新的Laravel版本是否破坏了测试环境?

这是文档的内容:(位于此处:https : //laravel.com/docs/5.8/testing

“您可以根据需要自由定义其他测试环境配置值。可以在phpunit.xml文件中配置测试环境变量,但是请确保在运行测试之前使用config:clear Artisan命令清除配置缓存!

另外,您可以在项目的根目录中创建一个.env.testing文件。运行PHPUnit测试或使用--env = testing选项执行Artisan命令时,此文件将覆盖.env文件。”

更新

我终于能够通过在phpunit.xml文件中添加数据库覆盖来覆盖.env中声明的数据库;.env.testing仍然无法正常工作。这些文档至少具有误导性。

testing phpunit laravel

8
推荐指数
4
解决办法
1060
查看次数

Laravel 6中未定义工匠命令“ make:auth”

在Laravel 6中创建登录/身份验证时遇到问题。我在终端中键入“ make:auth”,但出现错误“命令” make:auth“似乎未定义”。有解决方案吗?

laravel laravel-6

8
推荐指数
4
解决办法
1万
查看次数

在路由中添加参数的位置:verification.notice {language}/email/verify

缺少 [路由:verification.notice] [URI:{语言}/email/verify] 所需的参数

使用本地化后,我将 laravel 电子邮件验证添加到我的项目中。但现在我遇到了 Route:verification.notice 缺少参数的问题。我知道我需要将 app()->getLocale() 参数添加/传递到路线,但找不到位置

我尝试搜索项目中的所有路由和 URL,并检查了 VerificationController.php 和 verify.blade.php。但我没有找到缺少参数的路线。另外,我在网上找不到有同样问题的人。

网页.php

Route::group([
    'prefix' => '{language}',
    'where' => ['{language}' => '[a-Za-Z]{2}'],
    'middleware' => 'SetLanguage',
],
    function () {

        Route::get('/', function () {
            return view('welcome');
        })->name('Welcome');

        Auth::routes(['verify' => true]);

        Route::get('/home', 'HomeController@index')->name('home');

        Route::namespace('User')->group(function () {
            Route::get('/profile', 'UserController@editProfile')->name('profile');
            Route::put('profile', 'UserController@updateProfile');
        });

        Route::namespace('Admin')->group(function () {
            Route::get('/dashboard', 'AdminController@index')->name('dashboard');
        });
    });
Run Code Online (Sandbox Code Playgroud)

用户控制器

class UserController extends Controller
{
    public function __construct()
    {
        $this->middleware('verified');
    }

    public function editProfile()
    {
        $user = User::where('id', Auth()->user()->id)->first(); …
Run Code Online (Sandbox Code Playgroud)

laravel-localization laravel-blade laravel-authentication laravel-6

8
推荐指数
1
解决办法
1776
查看次数

在 Bootstrap v5.0.0-alpha1 中,我可以将什么用于媒体 (BS 3/4)?

我想在 Bootstrap v5.0.0-alpha1 中使用媒体对象,但如何使用?

在 Bootstrap 3 & 4 中,我是这样使用它的:

<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.5.2/css/bootstrap.min.css">

<div class="container mt-3">
<h2>Media Object</h2>
<p>Create a media object with the .media and .media-body classes:</p>
<div class="media border p-3">
    <img src="https://cdn.pixabay.com/photo/2016/11/18/23/38/child-1837375_960_720.png" alt="John Doe"
         class="mr-3 mt-3 rounded-circle" style="width:60px;">
    <div class="media-body">
        <h4>John Doe <small>Posted on February 19, 2016</small></h4>
        <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et
            dolore magna aliqua.</p>
    </div>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)

v5.0.0-alpha1 中,我可以将哪个类用于媒体对象?我在 Bootstrap 5 中找不到任何名为“media”的类。

html javascript css twitter-bootstrap bootstrap-5

8
推荐指数
1
解决办法
2441
查看次数

如何将 env 参数传递给 Laravel Mix 6?

有没有办法通过命令行将参数传递给 laravel mix 并将它们放入 webpack.mix.js 文件中?例如,我添加了 frontend-dev 行,但运行“yarn run frontend-dev”后无法获取“foo”变量。

包.json

{
    "private": true,
    "scripts": {
        "development": "mix",
        "frontend-dev": "mix -- --env foo=frontend"
    },
    "devDependencies": {
        "axios": "^0.21",
        "laravel-mix": "^6.0.6",
        "lodash": "^4.17.19",
        "postcss": "^8.1.14"
    }
}
Run Code Online (Sandbox Code Playgroud)

webpack.mix.js

const mix = require('laravel-mix');

//console.log(process.env);
console.log(process.env.foo); //output: undefined
Run Code Online (Sandbox Code Playgroud)

php environment-variables laravel webpack laravel-mix

8
推荐指数
1
解决办法
7379
查看次数

检查 Tailwind 是否安装的最简单方法

我正在使用 Tailwind,Next.js,但我无法确定它是否已安装。即使我访问https://play.tai​​lwindcss.com/并尝试使用 Tailwind 设计以下 HTML 元素。

<h1 className="text-3xl font-bold underline">
      Hello world!
</h1>
Run Code Online (Sandbox Code Playgroud)

它不会将其渲染为下划线,甚至不会渲染为h1元素。我 逐字按照https://tailwindcss.com/docs/guides/nextjs上的说明进行操作。有任何想法吗?

tailwind-css

8
推荐指数
1
解决办法
3万
查看次数