标签: laravel-8

Laravel 8 Jetstream:在注册过程中添加新字段

我开始使用 Laravel 8 构建一个 Web 应用程序。我注意到 Laravel 8 中的很多事情都发生了变化,包括身份验证。现在,我正在尝试使用 Jetstream 进行身份验证。

我已运行以下命令将其集成到应用程序中。

composer require laravel/jetstream
php artisan jetstream:install inertia
npm install && npm run dev
Run Code Online (Sandbox Code Playgroud)

当我去/register路线时,我可以看到包含姓名、电子邮件、密码和密码确认字段的注册表。我想要做的是我想添加另一个名为“公司”的字段,我想对其应用自定义验证规则。

我在 Jetstream 文档中发现,我可以在 JetstreamServiceProvider 类的引导方法中自定义身份验证过程,如下所示。

Fortify::authenticateUsing(function (Request $request) {
            
        });
Run Code Online (Sandbox Code Playgroud)

但不适用于注册。如何自定义注册过程添加新字段和应用自定义验证规则?

laravel laravel-authentication laravel-8 laravel-jetstream

10
推荐指数
1
解决办法
5876
查看次数

Laravel 8 - 找不到驱动程序:Illuminate\Database\QueryException 无法找到驱动程序(SQL:从 `list` 中选择 *)

我已经在我的 Linux Mint 20 上安装了 Laravel 8 进行个人实验,所以我对 Laravel 的新版本很陌生。我搜索了许多来源如何使用 CRUD 方法显示表,以便该表显示在网络中,其中包含来自 MySQL 数据库的数据

但是当我尝试用 CRUD 方法显示表时,它看起来像这样:

Illuminate\Database\QueryException 找不到驱动程序(SQL:select * from list

在本地主机:8000/home/tabel

我尝试通过修复 .env 文件、控制器文件、blade 文件和 web.php 来解决此问题,使其正确,但仍然错误。

这是我的配置文件,我对其进行了如下更改:

.env

DB_CONNECTION=mysql
DB_HOST=localhost
DB_PORT=3306
DB_DATABASE=people
DB_USERNAME=root
DB_PASSWORD=
Run Code Online (Sandbox Code Playgroud)

homeController.php

<?php

namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;

class homeController extends Controller
{
    public function home()
    {
        return "home";
    }

    public function tabel()
    {
        $tabelku = DB::table('list')->get();
        return view('tabel', ['people' => $tabelku]);
    }

}
Run Code Online (Sandbox Code Playgroud)

tabel.blade.php

<!DOCTYPE html>
<html>

    <head>
        <title>Table</title>
    </head>

    <body> …
Run Code Online (Sandbox Code Playgroud)

php mysql crud laravel laravel-8

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

尝试在 Windows 上使用 Sail 创建 Laravel 项目时无法输入密码

我想创建一个新的 Laravel 8 项目,并且我按照 Windows 上的 docker 和 Sail 的文档进行操作:https ://laravel.com/docs/8.x#getting-started-on-windows

安装完所有内容后,我尝试执行命令来创建项目:

curl -s https://laravel.build/example-app | bash
Run Code Online (Sandbox Code Playgroud)

它询问我的密码。我输入它并按回车键,但什么也没发生。当我按 CTRL+C 时,我可以看到它尝试将我的密码作为命令执行。

wsl-2 laravel-8 laravel-sail

10
推荐指数
1
解决办法
4429
查看次数

无法在 Tinker 中使用 Laravel Factory

我无法在 Laravel Tinker 中使用模型工厂。

//ItemFactory.php

class ItemFactory extends Factory
{
    /**
     * The name of the factory's corresponding model.
     *
     * @var string
     */
    protected $model = Item::class;

    /**
     * Define the model's default state.
     *
     * @return array
     */
    public function definition()
    {
        return [
            'name' => $this->faker->name,
            'slug' => $this->faker->slug(5, true),
            'code' => $this->faker->words(5, true),
            'description' => $this->faker->sentence,
            'price' => $this->faker->randomNumber(1000, 10000),
            'size' => $this->faker->randomElement(['Small', 'Medium', 'Large',]),
        ];
    }
}
Run Code Online (Sandbox Code Playgroud)

内部修补匠

>>> factory(App\Item::class)->create();
Run Code Online (Sandbox Code Playgroud)

它给我一个错误:

PHP 致命错误:在第 1 行的 …

php laravel tinker laravel-8

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

Handler.php 中的渲染函数不起作用 Laravel 8

ModelNotFoundException发生时,我想返回一个 JSON 响应而不是默认的 404 错误页面。为此,我将以下代码写入app\Exceptions\Handler.php

public function render($request, Exception $exception)
{
    if ($exception instanceof ModelNotFoundException) {
        return response()->json([
            'error' => 'Resource not found'
        ], 404);
    }

    return parent::render($request, $exception);
}
Run Code Online (Sandbox Code Playgroud)

但是它不起作用。当ModelNotFoundException发生时,Laravel 只显示一个空白页面。我发现,即使是在宣告一个空的渲染功能Handler.php品牌Laravel上显示空白页ModelNotFoundException

我该如何解决这个问题,以便它可以返回 JSON/执行覆盖渲染函数中的逻辑?

php laravel laravel-8

9
推荐指数
2
解决办法
5043
查看次数

尝试在 Laravel 中设置身份验证时出现“ReflectionException Function () 不存在”

我在 Laravel 中 100% 进行身份验证时遇到了一些麻烦(到目前为止,除了“home”之外的所有视图似乎都有效),并且希望从 Laravel 专家那里获得一些帮助。


一些背景信息:

  • PHP 版本:7.3.11
  • Laravel 版本:8.13.0
  • 使用Composer构建 ui 脚手架 ( composer require laravel/ui)
  • 使用Bootstrap ui 选项 ( php artisan ui bootstrap --auth)

问题

如上所述,我似乎能够访问迄今为止生成的所有身份验证视图(登录、注册和密码重置视图),但是在使用虚拟帐户注册后,在尝试访问“主页”时出现以下错误看法:

反射异常

函数()不存在

堆栈跟踪指向以下文件:“vendor/laravel/framework/src/Illuminate/Routing/RouteSignatureParameters.php:23”:

<?php

namespace Illuminate\Routing;

use Illuminate\Support\Reflector;
use Illuminate\Support\Str;
use ReflectionFunction;
use ReflectionMethod;

class RouteSignatureParameters
{
    /**
     * Extract the route action's signature parameters.
     *
     * @param  array  $action
     * @param  string|null  $subClass
     * @return array
     */
    public static function fromAction(array $action, …
Run Code Online (Sandbox Code Playgroud)

authentication laravel laravel-8

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

您的要求无法解析为一组可安装的软件包。在拉拉维尔 8

您的要求无法解析为一组可安装的软件包。

问题1

  • phpunit/phpunit[dev-master, 9.3.3, ..., 9.4.x-dev] 需要 ext-dom * -> 您的系统中缺少它。安装或启用 PHP 的 dom 扩展。
  • phpunit/phpunit 9.5.x-dev 是 phpunit/phpunit dev-master 的别名,因此也需要安装它。
  • 根 Composer.json 需要 phpunit/phpunit ^9.3.3 -> 可满足 phpunit/phpunit[9.3.3, ..., 9.5.x-dev (dev-master 的别名)]。

laravel laravel-8

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

在文件夹内调用 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 8 中禁用身份验证注册路由?

我需要在 Laravel 8 中禁用我的注册路由。试过

Auth::routes([
     'register' => false,
     'login' => false,
]);
Run Code Online (Sandbox Code Playgroud)

但是应用程序抛出了一个错误。

RuntimeException
In order to use the Auth::routes() method, please install the laravel/ui package.
Run Code Online (Sandbox Code Playgroud)

如果有人指出需要改变的地方,将不胜感激。

谢谢

php laravel laravel-8

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

不能将 migrate 与sail laravel 一起使用

嗨,我刚刚尝试安装带有风帆的 Laravel 8,但遇到了问题

我所做的是首先从 Laravel 自己的页面运行 curl one-liner

curl -s https://laravel.build/sail-test | bash
Run Code Online (Sandbox Code Playgroud)

一旦完成我就按照它说的运行

cd sail-test && ./vendor/bin/sail up
Run Code Online (Sandbox Code Playgroud)

一切都按原样开始,我可以连接到数据库,我可以在 http://localhost 上看到该站点,但是在尝试迁移时出现以下错误:

$ sail artisan migrate:install

   Illuminate\Database\QueryException 

  SQLSTATE[HY000] [2002] No route to host (SQL: create table `migrations` (`id` int unsigned not null auto_increment primary key, `migration` varchar(255) not null, `batch` int not null) default character set utf8mb4 collate 'utf8mb4_unicode_ci')

  at vendor/laravel/framework/src/Illuminate/Database/Connection.php:678
    674?         // If an exception occurs when attempting to run a query, we'll format the error
    675?         // message …
Run Code Online (Sandbox Code Playgroud)

laravel-artisan laravel-8 laravel-sail

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