标签: laravel-6

类 App\Http\Controllers\ManagerLoginController 不存在

我一直在进行自定义多重身份验证并收到以下错误:

类 App\Http\Controllers\ManagerLoginController 不存在

我一直在寻找此错误,但找不到解决方案。我已将控制器的屏幕截图附加到目录中。

在此处输入图片说明

ManagerLoginController.php

class ManagerLoginController extends Controller
{
    public function __construct()
    {
        $this->middleware('guest')->except('logout');
    }

    public function showManagerLoginForm()
    {
        return view('auth.login', ['url' => 'manager']);
    }

    public function managerLogin(Request $request)
    {
        $this->validate($request, [
            'email' => 'required|email',
            'password' => 'required|min:8'
        ]);

        if (Auth::guard('manager')->attempt(['email' => $request->email, 'password' => $request->password],
            $request->get('remember'))) {

            return redirect()->intended('login/manager');
        }

        return back()->withInput($request->only('email', 'remember'));
    }
}
Run Code Online (Sandbox Code Playgroud)

网页.php

Route::get('/', function () {
    return view('welcome');
});

Auth::routes();

Route::get('/home', 'HomeController@index')->name('home');
Route::get('/manager/login', 'ManagerLoginController@showManagerLoginForm')->name('manager.login');
Route::post('/manager/login', 'ManagerLoginController@managerLogin');
Route::get('/manager/register', 'ManagerRegisterController@showManagerRegisterForm')->name('manager.register');
Route::post('/manager/register', 'ManagerRegisterController@createManager');
Route::get('/manager', 'ManagersController@redirectAuthenticatedManager');
Run Code Online (Sandbox Code Playgroud)

php authentication controller laravel laravel-6

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

如何安装 maatwebsite/excel?

我正在尝试安装maatwebsite/excel;但是,我无法让它工作。

我尝试删除composer.lock文件并运行:

composer install
composer update
Run Code Online (Sandbox Code Playgroud)

我也试过:

composer require maatwebsite/excel --update-with-dependencies
Run Code Online (Sandbox Code Playgroud)

两种方法都不奏效。

我收到的错误是:

Problem 1
- maatwebsite/excel 3.1.10 requires phpoffice/phpspreadsheet ^1.6 -> satisfiable by phpoffice/phpspreadsheet[1.6.0, 1.7.0, 1.8.0, 1.8.1, 1.8.2, 1.9.0].
- maatwebsite/excel 3.1.11 requires phpoffice/phpspreadsheet ^1.6 -> satisfiable by phpoffice/phpspreadsheet[1.6.0, 1.7.0, 1.8.0, 1.8.1, 1.8.2, 1.9.0].
- maatwebsite/excel 3.1.12 requires phpoffice/phpspreadsheet ^1.6 -> satisfiable by phpoffice/phpspreadsheet[1.6.0, 1.7.0, 1.8.0, 1.8.1, 1.8.2, 1.9.0].
- maatwebsite/excel 3.1.13 requires phpoffice/phpspreadsheet ^1.6 -> satisfiable by phpoffice/phpspreadsheet[1.6.0, 1.7.0, 1.8.0, 1.8.1, 1.8.2, 1.9.0].
 . …
Run Code Online (Sandbox Code Playgroud)

composer-php laravel-6

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

Laravel 懒惰收集海量数据

我正在从表中查询大型数据集,然后迭代循环以创建 json 文件。

$user = App\User::all();

foreach($user as $val){
  // logic goes here for creating the json file
}
Run Code Online (Sandbox Code Playgroud)

现在我面临的问题是,当迭代循环时,它正在消耗内存,并且我收到错误“允许的内存大小已耗尽”。而且服务器的 CPU 使用率变得如此之高。我的问题是我应该如何使用 laravel 惰性集合来解决这个问题。我已经浏览了官方文档但找不到方法。

laravel laravel-6

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

Laravel Mock 应该至少被调用一次但被调用了 0 次

我有一个 artisan 命令,它触发一个名为PasswordResetJob的作业,该作业在调用存储库类OrgRepository中的ForcePasswordReset方法时进行迭代,该方法更新用户的表。整个过程运行良好。

现在,我尝试编写一个 Laravel 测试来模拟OrgRepository类,并断言强制密码重置方法至少被调用一次,根据我提供给测试的条件,情况应该是这样。在测试中,我调用artisan命令来解雇工作;(我正在使用同步队列进行测试)当作业被调用并且用户的表被更新时,这工作得很好,因为我可以直接查看数据库更新。但是,测试失败并出现错误:Mockery\Exception\InvalidCountException:Mockery_2_Repositories_OrgRepository 中的方法forcePasswordReset() 应该至少调用 1 次,但调用了 0 次。

测试中的工匠调用是:

Artisan::call('shisiah:implement-org-password-reset');
Run Code Online (Sandbox Code Playgroud)

我之前和模拟初始化之后都尝试过进行 artisan 调用,但仍然遇到相同的错误。这是测试中的模拟初始化

$this->spy(OrgRepository::class, function ($mock) {
        $mock->shouldHaveReceived('forcePasswordReset');
    });
Run Code Online (Sandbox Code Playgroud)

我缺少什么?我已经阅读了文档并通过谷歌搜索了几个小时。如果您需要任何其他信息来帮助,请告诉我。我使用的是Laravel 6.0 版本

编辑

我将OrgRepository类传递给作业类的handle方法,如下所示:

 public function handle(OrgRepository $repository)
{
    //get orgs
    $orgs = Org::where('status', true)->get();

    foreach ($orgs as $org){
       $repository->forcePasswordReset($org);
    }
}
Run Code Online (Sandbox Code Playgroud)

php phpunit laravel mockery laravel-6

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

如何在 Laravel 6.X 中传递符合 PSR-6 的缓存适配器?

我注意到有一个 cache.psr6 容器别名,但如果我使用:

new Cache
Run Code Online (Sandbox Code Playgroud)

作为实例,我收到了 getItems 不可用的错误,我认为这意味着我没有传递符合 PSR-6 的缓存实例。如果以任何方式更改配置,我将使用 Redis。

是否有额外的配置需要完成,或者我是否以错误的方式传递了这个?

我使用的库是:https : //github.com/AlexaCRM/dynamics-webapi-toolkit/wiki/Tutorial

教程指出:

您可以选择提供符合 PSR-6 的缓存适配器。

$settings->cachePool = $cacheAdapter;

我的问题是,什么是 $cacheAdapter?

laravel laravel-cache laravel-6

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

Laravel API 资源:如何返回无限嵌套的类别数组及其子项?

我使用 Laravel 6.x,以下是我的响应 JSON。

{
    "data": [
        {
            "id": 1,
            "name": "quam",
            "parent_id": 0
        },
        {
            "id": 2,
            "name": "quia",
            "parent_id": 1
        },
        {
            "id": 3,
            "name": "beatae",
            "parent_id": 1
        },
        {
            "id": 4,
            "name": "aut",
            "parent_id": 2
        },
        {
            "id": 5,
            "name": "provident",
            "parent_id": 0
        },
        {
            "id": 6,
            "name": "voluptate",
            "parent_id": 0
        },
        {
            "id": 7,
            "name": "vel",
            "parent_id": 2
        },
        {
            "id": 8,
            "name": "sed",
            "parent_id": 3
        },
        {
            "id": 9,
            "name": "voluptates",
            "parent_id": 0
        },
        { …
Run Code Online (Sandbox Code Playgroud)

php api laravel jsonapi-resources laravel-6

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

laravel 如何获取文件对象

我用这样的形式发送文件

\n\n
<input type="file" class="form-control" name="images[]" multiple enctype="multipart/form-data"/>\n
Run Code Online (Sandbox Code Playgroud)\n\n

但在控制器上$request->all()我只得到文件名

\n\n
"images" => array:1 [\xe2\x96\xbc\n    0 => "just-before-hit.png"\n  ]\n
Run Code Online (Sandbox Code Playgroud)\n\n

如何获取文件对象来存储它?

\n

php laravel laravel-5 laravel-blade laravel-6

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

将 args 传递给 laravel eloquent api 资源构造函数

如何将参数传递给 Laravel Eloquent API 资源构造函数并使其返回响应时的​​条件数据?

我尝试过的:

控制器

$user = User::find(1);
return new UserResource($user, $shortData = true);
Run Code Online (Sandbox Code Playgroud)

API资源:

public function toArray($request, $shortData)
{
    if($short) {
        return $shortData;
    } else {
        return $fullData;
    }
}
Run Code Online (Sandbox Code Playgroud)

laravel eloquent laravel-6

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

Dataclip 错误 ERROR:无法在只读事务中执行 INSERT

我想在 Heroku 中插入数据,但我无法执行此操作,因为它的错误是“Dataclip Error”

ERROR:  cannot execute INSERT in a read-only transaction"
Run Code Online (Sandbox Code Playgroud)

这张照片

heroku laravel laravel-6

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

Laravel Redis / 如何仅刷新特定的 Redis 数据库?

如您所知,Redis 可以有多个数据库,在我的 Laravel 设置中,我定义了其中 3 个并至少使用 2 个

'0' (default)
'1' (cache)
'2' (queue)
Run Code Online (Sandbox Code Playgroud)

这就是我在config/database.php中设置的内容

此外,由于某些需要,我使用flushall() 以下方法清除所有缓存:

@Cache::flush();
@Redis::flushall();
Run Code Online (Sandbox Code Playgroud)

但是,它也会清除队列作业,这不是我想要的。那么有没有办法只刷新数据库0和数据库1而不刷新数据库2呢?

caching redis laravel laravel-6

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