Php Laravel sql查询永远持续运行

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'

这是我第一次使用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', '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。