Php Laravel sql查询永远持续运行
这是我第一次使用laravel,我正在构建这个应用程序,我有以下查询Php Laravel sql查询永远持续运行,php,mysql,laravel,laravel-4,Php,Mysql,Laravel,Laravel 4,这是我第一次使用laravel,我正在构建这个应用程序,我有以下查询 $productDetails = DB::table('products')->where('products.id_product', $id_product) ->leftJoin('product_options', $id_product, '=', 'product_options.id_product')->where('product_options.is_active'
$productDetails = DB::table('products')->where('products.id_product', $id_product)
->leftJoin('product_options', $id_product, '=', 'product_options.id_product')->where('product_options.is_active', '1')
->leftJoin('options', 'product_options.id_option', '=', 'options.id_option')->where('options.is_active','1')
->get();
每次我加载调用此查询的页面时,它都会一直旋转。数据不是太多,所以我知道这不是因为查询时间太长,而是某种原因造成的。我已经打开了调试,但什么也没发生。我在日志或其他任何地方都没有看到错误
如果我注释掉join语句,查询将返回结果,但只要我添加回任何左join语句,它就会继续旋转。有人看到上面的查询有什么错误吗?where运算符的语法是where'column','operator',$value
因此,您必须在查询3添加中添加运算符
编辑
抱歉,我没有注意到可以跳过相等运算符
尽管如此,我认为你需要一种属于任何人的关系。它更简单、更干净。事实证明,我现在可以使用传递给函数的$id\u product变量进行连接,而必须使用查询中的id\u product值进行连接 所以必须这样
$productDetails = DB::table('products')->where('products.id_product', $id_product)
->leftJoin('product_options', 'products.id_product', '=', 'product_options.id_product')->where('product_options.is_active', '1')
->leftJoin('options', 'product_options.id_option', '=', 'options.id_option')->where('options.is_active','1')
->get();
你能不能也给我们提供你的数据库模式,这样我们就可以看到你的索引了……你的应用程序可能有问题。在chrome中打开您最喜欢的浏览器F12的调试工具,转到网络选项卡,查看ajax调用的情况。如果为php和laravel启用了错误报告,那么应该有一些关于错误的信息。如果不是,那么您至少应该看到内部服务器错误的错误500。