具體來說,我使用sqlite,所以我需要在每次打開連接時在數據庫上運行命令PRAGMA foreign_keys=1
。我如何告訴laravel做到這一點?有沒有設置某處我可以指定要在每個連接開始時運行的命令?如何在laravel中打開db連接時自動運行命令?
0
A
回答
1
在Laravel 4.2中,您的應用程序目錄中有一個名爲filters.php的文件,它具有在每次啓動應用程序之前觸發的默認過濾器。這意味着它將在任何控制器或路由之前運行。
如果你沒有在app/filters.php了,你可以添加它,它看起來像這樣:
App::before(function($request)
{
//
});
2
Laravel觸發連接和第一查詢執行之間沒有事件,但你可以查詢勾一個聽衆,第一個查詢運行後,將火右:
DB::listen(function()
{
// Run your command here
});
但是如果你需要確保你想讓它跑,也許是最好的辦法應該是火了每請求,你可以通過在你的app/start/global.php
執行它來做到這一點:
DB::statement(DB::raw('PRAGMA foreign_keys=1'));
相關問題
- 1. 如何打開一個telnet連接並在C#中運行一些命令?
- 2. 打開命令組時自動執行命令?
- 3. 用戶連接時運行命令?
- 4. 如何在命令行中在mysql-workbench中打開一個新連接
- 5. Yii2在運行時設置db連接
- 6. 如何在運行'rails server'命令時運行自定義命令?
- 7. 運行CMD自動命令
- 8. 如何運行左外連接在laravel
- 9. 如何在運行時在Laravel 5中創建新的連接?
- 10. Oracle sqldeveloper - 如何從命令行連接DB
- 11. 同時通過UNIX連接DB連接錯誤命令
- 12. 打開電腦時自動運行宏
- 13. 如何從命令行自動運行「運行asp.net網站」?
- 14. 打開終端運行命令python
- 15. Perl打開沒有運行shell命令
- 16. VSCODE:如何在每個終端打開後運行命令?
- 17. 連接DB在laravel 5
- 18. 如何使用命令行手動運行laravel /流明作業
- 19. 從命令行運行時http連接超時
- 20. 在Codeigniter中自動連接DB?
- 21. 保存終端命令到打開時在終端運行命令的文件
- 22. 在VSCode IDE中打開新的集成終端時自動執行命令
- 23. 如何在每次重新啓動後自動運行命令
- 24. 如何在命令行上自動運行JavaScript?
- 25. 如何打開cmd.exe並執行命令?
- 26. 通過命令行在github上自動打開請求
- 27. Mule DB連接器複製命令
- 28. 運行bat文件時使命令行保持打開狀態
- 29. Vim自動命令在打開「nothing」時觸發
第二種解決方案的工作原理,謝謝 – 2014-09-23 15:55:30