2016-11-07 84 views
4

我試圖創建一個工作,但是當我設置行:類工作中未發現有受保護的變量

protected $param; 

從__construct通過數據處理()我開始收到此錯誤:

Class not found 

當我刪除受保護的$參數;線,工作完美。但我無法獲取數據。我能做些什麼來解決這個問題?

<?php 

namespace App\Jobs; 

use App\Jobs\Job; 
use Illuminate\Queue\SerializesModels; 
use Illuminate\Queue\InteractsWithQueue; 
use Illuminate\Contracts\Queue\ShouldQueue; 

use App\Repositories\ProductRepository; 

class ImportProducts extends Job implements ShouldQueue 
{ 
    use InteractsWithQueue, SerializesModels; 

    protected $param; 


    /** 
    * Create a new job instance. 
    * 
    * @return void 
    */ 
    public function __construct($param) 
    { 
     $this->param = $param; 
    } 

    /** 
    * Execute the job. 
    * 
    * @return void 
    */ 
    public function handle() 
    { 
     //$products = $this->param['products']; 
     exit(); 

    } 
} 

這是整個錯誤消息:

Whoops, looks like something went wrong. 

1/1 
ReflectionException in Container.php line 734: 
Class does not exist  
in Container.php line 734 
    at ReflectionClass->__construct('') in Container.php line 734 
    at Container->build('', array()) in Container.php line 629 
    at Container->make('', array()) in Application.php line 697 
    at Application->make('') in Job.php line 154 
    at Job->resolve('') in Job.php line 210 
    at Job->failed() in SyncQueue.php line 153 
    at SyncQueue->handleFailedJob(object(SyncJob)) in SyncQueue.php line 36 
    at SyncQueue->push(object(ImportProducts), '', 'upload_products_file') in Queue.php line 40 
    at Queue->pushOn('upload_products_file', object(ImportProducts)) in Dispatcher.php line 135 
    at Dispatcher->pushCommandToQueue(object(SyncQueue), object(ImportProducts)) in Dispatcher.php line 117 
    at Dispatcher->dispatchToQueue(object(ImportProducts)) in Dispatcher.php line 66 
    at Dispatcher->dispatch(object(ImportProducts)) in DispatchesJobs.php line 17 
    at Controller->dispatch(object(ImportProducts)) in ProductController.php line 656 
    at ProductController->importProducts(object(Request)) 
    at call_user_func_array(array(object(ProductController), 'importProducts'), array(object(Request))) in Controller.php line 80 
    at Controller->callAction('importProducts', array(object(Request))) in ControllerDispatcher.php line 146 
    at ControllerDispatcher->call(object(ProductController), object(Route), 'importProducts') in ControllerDispatcher.php line 94 
    at ControllerDispatcher->Illuminate\Routing\{closure}(object(Request)) 
    at call_user_func(object(Closure), object(Request)) in Pipeline.php line 52 
    at Pipeline->Illuminate\Routing\{closure}(object(Request)) 
    at call_user_func(object(Closure), object(Request)) in Pipeline.php line 103 
    at Pipeline->then(object(Closure)) in ControllerDispatcher.php line 96 
    at ControllerDispatcher->callWithinStack(object(ProductController), object(Route), object(Request), 'importProducts') in ControllerDispatcher.php line 54 
    at ControllerDispatcher->dispatch(object(Route), object(Request), 'App\Http\Controllers\ProductController', 'importProducts') in Route.php line 174 
    at Route->runController(object(Request)) in Route.php line 140 
    at Route->run(object(Request)) in Router.php line 724 
    at Router->Illuminate\Routing\{closure}(object(Request)) 
    at call_user_func(object(Closure), object(Request)) in Pipeline.php line 52 
    at Pipeline->Illuminate\Routing\{closure}(object(Request)) in VerifyCsrfToken.php line 64 
    at VerifyCsrfToken->handle(object(Request), object(Closure)) 
    at call_user_func_array(array(object(VerifyCsrfToken), 'handle'), array(object(Request), object(Closure))) in Pipeline.php line 136 
    at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) 
    at call_user_func(object(Closure), object(Request)) in Pipeline.php line 32 
    at Pipeline->Illuminate\Routing\{closure}(object(Request)) in ShareErrorsFromSession.php line 49 
    at ShareErrorsFromSession->handle(object(Request), object(Closure)) 
    at call_user_func_array(array(object(ShareErrorsFromSession), 'handle'), array(object(Request), object(Closure))) in Pipeline.php line 136 
    at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) 
    at call_user_func(object(Closure), object(Request)) in Pipeline.php line 32 
    at Pipeline->Illuminate\Routing\{closure}(object(Request)) in StartSession.php line 64 
    at StartSession->handle(object(Request), object(Closure)) 
    at call_user_func_array(array(object(StartSession), 'handle'), array(object(Request), object(Closure))) in Pipeline.php line 136 
    at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) 
    at call_user_func(object(Closure), object(Request)) in Pipeline.php line 32 
    at Pipeline->Illuminate\Routing\{closure}(object(Request)) in AddQueuedCookiesToResponse.php line 37 
    at AddQueuedCookiesToResponse->handle(object(Request), object(Closure)) 
    at call_user_func_array(array(object(AddQueuedCookiesToResponse), 'handle'), array(object(Request), object(Closure))) in Pipeline.php line 136 
    at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) 
    at call_user_func(object(Closure), object(Request)) in Pipeline.php line 32 
    at Pipeline->Illuminate\Routing\{closure}(object(Request)) in EncryptCookies.php line 59 
    at EncryptCookies->handle(object(Request), object(Closure)) 
    at call_user_func_array(array(object(EncryptCookies), 'handle'), array(object(Request), object(Closure))) in Pipeline.php line 136 
    at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) 
    at call_user_func(object(Closure), object(Request)) in Pipeline.php line 32 
    at Pipeline->Illuminate\Routing\{closure}(object(Request)) 
    at call_user_func(object(Closure), object(Request)) in Pipeline.php line 103 
    at Pipeline->then(object(Closure)) in Router.php line 726 
    at Router->runRouteWithinStack(object(Route), object(Request)) in Router.php line 699 
    at Router->dispatchToRoute(object(Request)) in Router.php line 675 
    at Router->dispatch(object(Request)) in Kernel.php line 246 
    at Kernel->Illuminate\Foundation\Http\{closure}(object(Request)) 
    at call_user_func(object(Closure), object(Request)) in Pipeline.php line 52 
    at Pipeline->Illuminate\Routing\{closure}(object(Request)) in CheckForMaintenanceMode.php line 44 
    at CheckForMaintenanceMode->handle(object(Request), object(Closure)) 
    at call_user_func_array(array(object(CheckForMaintenanceMode), 'handle'), array(object(Request), object(Closure))) in Pipeline.php line 136 
    at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) 
    at call_user_func(object(Closure), object(Request)) in Pipeline.php line 32 
    at Pipeline->Illuminate\Routing\{closure}(object(Request)) 
    at call_user_func(object(Closure), object(Request)) in Pipeline.php line 103 
    at Pipeline->then(object(Closure)) in Kernel.php line 132 
    at Kernel->sendRequestThroughRouter(object(Request)) in Kernel.php line 99 
    at Kernel->handle(object(Request)) in index.php line 54 
+0

當你得到這個錯誤**類未找到**它試圖找到哪個類? –

+0

@IvankaTodorova我不確定它試圖找到哪個類。我試圖理解這個消息,但我不能。我編輯了整個錯誤信息的問題。你可以檢查嗎? –

+0

這是整個堆棧跟蹤,因爲它看起來像開始時缺少幾行? :) –

回答

0

當作業使用SerializesModels特質預計在構造一個雄辯的模型。

您在構造函數和laravel中給出了與Eloquent Model不同的東西,該特性是SerializeModels特性的原因,它嘗試從$ param類重建Eloquent對象,但無法找到它。

嘗試從作業的特徵中刪除SerializesModels

相關問題