我正在开发一个Web(Laravel)和iOS应用程序,它们都使用我正在使用Laravel开发的REST API.来自AWS RDS实例托管的MySQL数据库的API查询.
当我同时设置本地主机上的API和应用程序,以及配置为连接本地数据库的API(与应用程序和API相同的机器)时,它可以正常工作,但问题是当我设置API来查询时AWS RDS数据库而不是本地.简单的查询用eloquent,如
Product::where('brand_id', '=', $id)
->get()
Run Code Online (Sandbox Code Playgroud)
需要10到15分钟才能完成,但如果我使用查询构建器执行相同的查询,则为expample;
DB::select('select * from products where brand_id = ?', [$id]);
Run Code Online (Sandbox Code Playgroud)
工作良好.
直接在MySQL上执行查询或在Laravel Tinker上运行Product :: all()可以按照预期的方式使用本地API /远程数据库设置.
编辑:
这是我执行时得到的 SHOW CREATE TABLE products
CREATE TABLE `products` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`SKU` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
`name` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
`price` double(8,2) NOT NULL,
`description` text COLLATE utf8mb4_unicode_ci NOT NULL,
`product_details` text COLLATE utf8mb4_unicode_ci NOT NULL,
`material_and_care` text COLLATE utf8mb4_unicode_ci NOT NULL,
`material` text COLLATE utf8mb4_unicode_ci NOT …
Run Code Online (Sandbox Code Playgroud)