![](/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.