Laravel 5.4 - Adldap - 调用未定义的方法 Adldap\Adldap::search()

Laravel 5.4 - Adldap - Call to undefined method Adldap\Adldap::search()

我的 Laravel 安装和 Adldap 使用有问题... 我收到的错误消息:

FatalThrowableError in UserCreationController.php line 100:
Class 'App\Http\Controllers\Adldap' not found

根据文档,我有 installed/deployed Adldap,当我从其他位置调用它时它正在工作。

工作内容 :

Route::get('ldap', function() {
    $results = Adldap::search()->where('ou', 'ends_with', ' Users')
                               ->orWhere('ou','not_contains', 'Production')  
                               ->sortBy('ou', 'asc')
                               ->get();


    foreach ($results as $result) {
        dump ($result->ou);
    }

页面正确显示转储。一切都很好。

工作内容(产生上面列出的错误代码)。 路由调用控制器...

路线:

Route::get('newuser', 'UserCreationController@GetUserOrganizationalUnits'); 

控制器:

public function GetUserOrganizationalUnits()
{
    $results = Adldap::search()->where('ou', 'ends_with', ' Users')
                               ->orWhere('ou','not_contains', 'Production')  
                               ->sortBy('ou', 'asc')
                               ->get();
    return view('newuserform',compact('results'));
}   

为什么它直接从 Web php 使用路由而不是从被调用的 Controller 使用路由?

我已经尝试明确添加以下内容...

use Adldap\Contracts\AdldapInterface;

外观已声明,它在网络路由中工作,甚至无需调用此...

你能帮忙吗?

谢谢。

我想你忘了包括 Facade

在您的 UserCreationController.php

中添加:use Adldap;

您还需要在您的 UserCreationController 中包含此内容才能使用 "use Adldap\Contracts\AdldapInterface;" 方法:

protected $adldap;

public function __construct(AdldapInterface $adldap)
{
    $this->adldap = $adldap;
}

或者在您的 config/app 中实现门面。php:

'Adldap' => Adldap\Laravel\Facades\Adldap::class