Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/278.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 我的数据库查询哪里出错了?_Php_Mysql_Laravel - Fatal编程技术网

Php 我的数据库查询哪里出错了?

Php 我的数据库查询哪里出错了?,php,mysql,laravel,Php,Mysql,Laravel,我有一个数据库查询 $extras = DB::select( 'SELECT p.* FROM products p WHERE required_product IS NULL UNION ALL SELECT p.* FROM products p, orders o WHERE p.required_product = o.product_id AND o.user_id =' . $user-&

我有一个数据库查询

       $extras = DB::select(

        'SELECT p.*
        FROM products p 
        WHERE required_product IS NULL 
        UNION ALL
SELECT p.* 
FROM products p, orders o 
WHERE p.required_product = o.product_id 
AND o.user_id =' .  $user->id .  'UNION ALL
SELECT p.* , "onlyOnce" product_type
FROM products p, orders o, only_once on 
WHERE p.required_product = o.product_id
AND p.id = on.product_id 
AND p.id NOT IN (SELECT product_id FROM orders WHERE o.product_id = p.id and o.user_id ='.$user->id.')'
);
以下是我的表格结构:

产品表:

订单表:
产品id、用户id

用户表:
id、名称、最后一个服务器、时间戳

语法错误

试试这个

$extras = DB::select(

    'SELECT p.*
    FROM products p 
    WHERE required_product IS NULL 
    UNION ALL
SELECT p.* 
FROM products p, orders o 
WHERE p.required_product = o.product_id 
AND o.user_id =' .  $user->id .  ' UNION ALL
SELECT p.* , "onlyOnce" product_type
FROM products p, orders o, only_once 
WHERE p.required_product = o.product_id
AND p.id = on.product_id 
AND p.id NOT IN (SELECT product_id FROM orders WHERE o.product_id = p.id and o.user_id ='.$user->id.')'
);

返回了什么错误?无法合并列数不同或列类型不同的表。您在最后一次选择中有
p.*,“onlyOnce”产品类型
,但在前两次选择中只有
p.
。。嗯,我不知道该做什么。你能给出代码或例子吗