mysql - 我如何将此查询放入 Eloquent/Laravel 格式?

标签 mysql laravel laravel-5 eloquent

我只有一张团队表和两个字段,外键指向那里。

DB::select('    SELECT 
                    matches.*, teams.name as home , guests.name as guest
                FROM 
                    matches
                LEFT JOIN 
                    teams
                ON 
                    teams.id = matches.home_id
                LEFT JOIN 
                    teams as guests
                ON 
                    guests.id = matches.guest_id
                ORDER BY 
                    matches.date DESC, matches.time ASC
');

最佳答案

下面的代码应该可以解决问题:

$results = DB::table('matches')
  ->leftJoin('teams', 'teams.id', '=', 'matches.home_id')
  ->leftJoin('teams as guests', 'guests.id', '=', 'matches.guest_id')
  ->orderBy('matches.date', 'desc')
  ->orderBy('matches.time', 'asc')
  ->addSelect('matches.*', 'teams.name as home', 'guests.name as guest')
  ->get();

关于mysql - 我如何将此查询放入 Eloquent/Laravel 格式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34250376/

相关文章:

php - 国家、州和城市名称显示第一个表中的正确名称,但也显示第二个表中的相同详细信息

mysql - 子查询、临时表、mysql 变量或从一个表的列中获取 pos 和 neg 搜索词以查询另一个的过程

php - Laravel/Eloquent - 时间戳之间的 15 秒间隔

php - 加入查看表转换

php - 在运行时从数据库更改 Laravel 的配置

mysql - 在关系数据库 (MySQL) 中表示数字范围

java - 无法从 Java Spring 应用程序连接到 MySQL,即使它可以从控制台运行

mysql - Laravel 5.5 - 迁移不起作用

php - 数据库表自定义命名约定 Laravel Eloquent

php - 来自同一浏览器的 laravel 和多 session