【发布时间】:2018-11-05 05:47:56
【问题描述】:
我的 Web 应用使用 Laravel 和 MySQL,但对于我的测试,我在内存中使用 SQLite。
这是我在控制器中使用的代码:
$opportunities = DB::table('opportunities')
->whereRaw('JSON_CONTAINS(businesses, \'"' . $business . '"\')')
->get();
由于 SQLite 没有 JSON_CONTAINS 函数,因此在测试时会引发异常。我怎样才能解决这个问题,以便我的测试通过并且我不必对结构进行任何大规模更改? SQLite 是否有这样的功能或类似的东西?
谢谢
【问题讨论】:
-
不要使用 MySQL 的 JSON 特性。坚持 MySQL 和 SQLite 中的标准 SQL 功能。
-
但是使用不同的 DBMS 进行测试而不是生产确实没有什么意义。如果您的测试成功,您不知道它会在生产环境中工作。
标签: php mysql json laravel sqlite