2014-05-23 34 views
0

無法在我的類中使用DB :: table。我得到一個handleShutdown。 請有人告訴我爲什麼。 我花了幾個小時,我可能會發瘋。無法在我的Facade類中使用DB :: table表達式 - Laravel 4

按照下面的代碼:

應用程序/ ACL/Acl.php

namespace AccessControl; 

class Acl 
{ 

    public function hasPermission($group_id, $module_name, $permission_type) { 

     $result = DB::table('permission')->get(); 
     return $result; 
    } 
} 

應用程序/ ACL/AclFacade.php

namespace AccessControl\Facades; 

use Illuminate\Support\Facades\Facade; 

class Acl extends Facade { 

    protected static function getFacadeAccessor() { return 'acl'; } 

} 

應用/ acl/AclServiceProvider

namespace AccessControl; 

use Illuminate\Support\ServiceProvider; 
use Illuminate\Foundation\AliasLoader; 


class AclServiceProvider extends ServiceProvider { 

    public function register() 
    { 
     // Register 'acl' instance container to our acl object 
     $this->app['acl'] = $this->app->share(function($app) 
     { 
      return new Acl; 
     }); 

     // Shortcut so developers don't need to add an Alias in app/config/app.php 
     $this->app->booting(function() 
     { 
      $loader = AliasLoader::getInstance(); 
      $loader->alias('Acl', 'AccessControl\Facades\Acl'); 
     }); 
    } 
} 

app.php

'提供商'=>數組(

'照亮\基金會\提供商\ ArtisanServiceProvider', '照亮\驗證\ AuthServiceProvider', 'AccessControl \ AclServiceProvider',

composer.js

 "psr-0": { 
      "App\\": "app/", 
      "App\\Acl\\": "app/acl", 

[...] 
     "classmap": [ 
      "app/commands", 
      "app/acl", 
[...] 

和所用命令

作曲轉儲。

回答

1

你必須告訴PHP是在根命名空間:

$result = \DB::table('permission')->get(); 

或者在你的PHP文件的頂部使用它:

use DB; 
+0

我用。但我使用連接表達式並不工作。 – DouglasTenn

+0

加入?有沒有加入你的問題... –

+0

我加了一個連接,但我已經修復它。 感謝您的幫助。 :) – DouglasTenn

相關問題