php - 如何在 Laravel-5 中构建子查询

标签 php mysql laravel laravel-5

<分区>

如何使用 Laravel-5 构建以下 MySQL 查询?

select orders.*, oi.items from orders 
inner join (select order_id, group_concat(item_name SEPARATOR ', ') as items 
from orders_items group by order_id) as oi on oi.order_id = orders.id;

编辑

建议link没有解决我的问题,但是我确实找到了解决方案并将其发布在下面以供其他人使用。

最佳答案

$order  = $order->select('orders.*', 'oi.items');
$order->join(DB::raw('(select order_id, group_concat(item_name SEPARATOR ",") as items from orders_items group by order_id) as oi'), function($join)
{
    $join->on('oi.order_id', '=', 'orders.id');
});
$order->whereRaw('find_in_set ("'.$value.'", oi.items)');

$rows = $order->get();

关于php - 如何在 Laravel-5 中构建子查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31511318/

相关文章:

MySQL 管理员备份 : "Compatibility Mode", 这到底在做什么?

php - 如何为产品做过滤器(laravel)

php - 检查 Youtube 和 Vimeo 剪辑是否有效

php - 如何使用 PHP 从文件夹中读取文件列表?

php - 正则表达式反向引用来匹配不同的值

php - 使用 TinyMCE 格式化并使用 SwiftMailer 发送的电子邮件中不会出现文本格式

mysql - 适用于 .MDB 数据库的 SQL 查询不适用于 MySQL 数据库

php - 使用 codeigniter 在表单上显示每个数据

mysql - Laravel 中不存在的地方

javascript - 我可以将日程安排作为 ajax 放在 fullcalendar 中吗?