无法合并两个关节 Laravel
Cannot union two Joints Laravel
我正在尝试合并 2 个连接,但出现奇怪的错误...
我有“Clientes” -> 意思是客户,我得到了他们在订单和新闻中注册的所有客户。
在新闻 table 中,我得到了 cliente_id -> client_id,
在订单中,我得到了相同的,cliente_id -> client_id,
在新闻中我有 x 个客户,在订单中我有 Y 个客户,他们通常有 99% 的不同,
我想让所有这些客户都收到订单和新闻。
所以我做了一个 MYSQL 查询它有效...
SELECT c.nombre, c.apellidos, c.id ,p.id FROM pedidos p
join clientes c on c.id = p.cliente_id
UNION
SELECT c.nombre, c.apellidos, c.id, n.id FROM noticias n
join clientes c on c.id = n.cliente_id
问题是在 LAralvel o 查询生成器中它不起作用。
$firstSQL = Pedido::select('clientes.nombre','clientes.apellidos','clientes.id', 'pedidos.id')
->join('clientes', 'clientes.id', '=', 'pedidos.cliente_id')
->get();
$total = Noticia::select('clientes.nombre','clientes.apellidos','clientes.id', 'noticias.id')
->join('clientes', 'clientes.id', '=', 'noticias.cliente_id')
->union($firstSQL)
->get();
我收到这个错误... BadMethodCallException
方法 Illuminate\Database\Eloquent\Collection::getBindings 不存在。
从第一个查询中删除 get()
$firstSQL = Pedido::select('clientes.nombre','clientes.apellidos','clientes.id', 'pedidos.id')
->join('clientes', 'clientes.id', '=', 'pedidos.cliente_id');
$total = Noticia::select('clientes.nombre','clientes.apellidos','clientes.id', 'noticias.id')
->join('clientes', 'clientes.id', '=', 'noticias.cliente_id')
->union($firstSQL)
->get();
我正在尝试合并 2 个连接,但出现奇怪的错误...
我有“Clientes” -> 意思是客户,我得到了他们在订单和新闻中注册的所有客户。
在新闻 table 中,我得到了 cliente_id -> client_id, 在订单中,我得到了相同的,cliente_id -> client_id,
在新闻中我有 x 个客户,在订单中我有 Y 个客户,他们通常有 99% 的不同,
我想让所有这些客户都收到订单和新闻。
所以我做了一个 MYSQL 查询它有效...
SELECT c.nombre, c.apellidos, c.id ,p.id FROM pedidos p
join clientes c on c.id = p.cliente_id
UNION
SELECT c.nombre, c.apellidos, c.id, n.id FROM noticias n
join clientes c on c.id = n.cliente_id
问题是在 LAralvel o 查询生成器中它不起作用。
$firstSQL = Pedido::select('clientes.nombre','clientes.apellidos','clientes.id', 'pedidos.id')
->join('clientes', 'clientes.id', '=', 'pedidos.cliente_id')
->get();
$total = Noticia::select('clientes.nombre','clientes.apellidos','clientes.id', 'noticias.id')
->join('clientes', 'clientes.id', '=', 'noticias.cliente_id')
->union($firstSQL)
->get();
我收到这个错误... BadMethodCallException 方法 Illuminate\Database\Eloquent\Collection::getBindings 不存在。
从第一个查询中删除 get()
$firstSQL = Pedido::select('clientes.nombre','clientes.apellidos','clientes.id', 'pedidos.id')
->join('clientes', 'clientes.id', '=', 'pedidos.cliente_id');
$total = Noticia::select('clientes.nombre','clientes.apellidos','clientes.id', 'noticias.id')
->join('clientes', 'clientes.id', '=', 'noticias.cliente_id')
->union($firstSQL)
->get();