![](/img/trans.png)
[英]Select * from table_name where column_nameِ = 'value'
[英]QueryException: General error: 1 no such table: {table_name} (SQL: select * from “{table_name}”)
在PHPUnit上進行的所有測試都可以正常工作。 但是,當我在AppServiceProvider
添加View::share
,所有PHPUnit測試都失敗了。
AppServiceProvider.php
class AppServiceProvider extends ServiceProvider
{
public function boot()
{
\View::share('categories', \App\Models\Category::all());
}
}
錯誤
Illuminate \\ Database \\ QueryException:SQLSTATE [HY000]:常規錯誤:1沒有這樣的表:Categories(SQL:select * from“ categories”)
我已經在所有測試中使用了RefreshDatabase
。
請指導我,我該如何解決。 我應該在Laravel應用中的何處調用View::share
,所以所有測試都應該通過。
發生這種情況的原因可能是數據庫甚至不存在,並且提供程序啟動假定數據庫/表已經啟動並正在運行。
通過包裹將其固定得更多
class AppServiceProvider extends ServiceProvider
{
public function boot()
{
if(\Schema::hasTable('categories'){
\View::share('categories', \App\Models\Category::all());
}
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.