php - LARAVEL MYSQL 如何使用自然 JOIN

标签 php mysql laravel natural-join

我需要在集合中返回来分页,但我只能在数组中返回,因为查询使用自然联接。 我如何使用 Laravel 集合执行此查询:

SELECT mensagens.* FROM mensagens NATURAL JOIN ( SELECT id_emissor, MAX(created_at) created_at FROM mensagens WHERE id_receptor = ".$user_id." GROUP BY id_emissor) t

我使用了这段代码:

$mensagem = \DB::select( DB::raw("SELECT mensagens.* FROM mensagens NATURAL JOIN ( SELECT id_emissor, MAX(created_at) created_at FROM mensagens WHERE id_receptor = ".$user_id." GROUP BY id_emissor) t ") );

最佳答案

如果您想按原样使用查询,请像这样使用 -

\DB::raw("SELECT mensagens.* FROM mensagens NATURAL JOIN ( SELECT id_emissor, MAX(created_at) created_at FROM mensagens WHERE id_receptor = ".$user_id." GROUP BY id_emissor) t");

否则你也可以使用 eloquent。

关于php - LARAVEL MYSQL 如何使用自然 JOIN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46206129/

相关文章:

php - 关闭 preg_replace 中的 g(全局)修饰符

javascript - 使用我不确定的 xmlHttpRequest 接收 responseText

PHP 字符串拆分

即使给定值不同,MySQL 也能找到匹配项

php - 使用 php 从 mysql 表创建基于类别的数组

php - Laravel Eloquent ORM - 嵌套语句

php - 如何实现标签搜索系统?

mysql - 如何将数据插入到两个表中,且第一个表的 PK 未知?

php - 如果用户登录 Laravel,从 Wordpress 重定向到 Laravel?

mysql - 在 AWS Elastic Beanstalk 上部署 Laravel 项目后出现 "Database hosts array is empty."