2017-05-06 52 views
0

如何如何我可以從cron(sheduler)的數據傳輸到控制器,使laravel JSON這是我的路線:如何從cron數據傳遞給控制器​​laravel PHP

Route::get("/data",'[email protected]'); 

,這是我的功能數據在控制器:

public function Data(){ 
    return response()->json(['data'-> User::all()],200); 
} 

,我怎麼能做出的cron這將使得查詢MySQL的用戶,保存變量,並傳遞給我的控制器?

更新: 我嘗試使用緩存:在我的命令(將由crontab中運行)

public function handle() 
{ 
    $data = User::All(); 
    Log::info('Data: ' . $data); 
    Cache::put('data',$data); 
    Log::info('Done!'); 
    Log::info('Data: ' . Cache::get('data')); 
} 

問題是事實,一是信息()printf的我好數據 但是當我試圖讓從緩存中我得到nothink,我嘗試存儲數據文件 CACHE_DRIVER =文件(從.ENV) 我在Windows上運行頁,並存儲文件夾有權限創建文件

回答

1

你正在嘗試做沒有任何意義在所有。調度程序正在通過CLI界面運行,與控制器無關。

我強烈建議你不要混用調度程序和控制器,而是爲方法創建Helper類,以便重用。

(new App\Http\Controllers\DataController())->Data() 

免責聲明:

如果你想反正運行控制器,你可以像運行它,我不是在響應和請求類的行爲完全肯定的是,當你調用一個控制器在正常的請求生命週期之外。

+0

問題是我在Ajax(java腳本)和ajax運行(每秒5次)中使用這些數據,當我向MySQL查詢每秒查看5次每個查看器時,我的數據庫將會死亡...而我想要做出像緩存和函數一樣的思考Data()將從緩存中返回數據,並且cron將更新緩存中的數據 – lenyAxe

相關問題