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

时间:2017-02-06 16:03:30

标签: laravel adldap

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

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

我根据文档安装/部署了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;

声明了外观并且它在Web路由中工作,甚至没有调用它...

你能帮忙吗?

感谢。

2 个答案:

答案 0 :(得分:0)

我想你忘了加入Facade

在UserCreationController.php中添加use Adldap;

答案 1 :(得分:0)

你还需要在你的UserCreationController中使用它来使用“使用Adldap \ Contracts \ AdldapInterface;”的方法:

protected $adldap;

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

或者在config / app.php中实现外观:

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