Php Laravel将右连接转换为左连接

Php Laravel将右连接转换为左连接,php,mysql,sql,join,laravel,Php,Mysql,Sql,Join,Laravel,我一直在尝试将右连接查询转换为左连接查询,以便在laravel查询生成器中使用它。这是我的Sql语句,它可以完美地工作 select `weekday`.`name`, `open_time`, `close_time` from `schedule` join `restaurants_has_schedule` on `schedule`.`id` = `restaurants_has_schedule`.`schedule_id` and `restaurants_has_sched

我一直在尝试将右连接查询转换为左连接查询,以便在laravel查询生成器中使用它。这是我的Sql语句,它可以完美地工作

select `weekday`.`name`, `open_time`, `close_time` 
from `schedule` 
join `restaurants_has_schedule` on `schedule`.`id` = `restaurants_has_schedule`.`schedule_id` 
and `restaurants_has_schedule`.`restaurants_id` = 1
right join `weekday` on `weekday`.`id` = `schedule`.`weekday_id` 
ORDER BY  `weekday`.`id`

|------
|name|open_time|close_time
|------
|Domingo|NULL|NULL
|Lunes|NULL|NULL
|Martes|NULL|NULL
|Miercoles|NULL|NULL
|Jueves|14:11:51|14:11:51
|Vienes|09:11:21|17:00:00
|Sábado|NULL|NULL
但当将其转换为left join时,它将停止工作,为每个
餐厅id
显示相同的数据。这是我的左join语句

select `weekday`.`name`, `open_time`, `close_time` 
from `weekday` 
left join `schedule` on `weekday`.`id` = `schedule`.`weekday_id` 
join `restaurants_has_schedule` on `schedule`.`id` = `restaurants_has_schedule`.`schedule_id` 
and `restaurants_has_schedule`.`restaurants_id` = 1
ORDER BY  `weekday`.`id`

我做错了什么?还有其他选择吗?提前告诉你

尝试使用Laravels雄辩的ORM,它处理人际关系非常酷!不再需要解析或编写sql查询 请参见此处关于&

或者,一般来说,关于orm,您应该尝试一下:

对象角色建模

来自Laravel文档的示例: 一篇帖子可能有很多评论 一对多:

class Post extends Eloquent {

    public function comments()
    {
        return $this->hasMany('Comment');
    }

}
其中“注释”是模型

“反向”用于定义:

class Comment extends Eloquent {

    public function post()
    {
        return $this->belongsTo('Post');
    }

}
其中“Post”是模型

然后作为查询:

$comments = Post::find(1)->comments; //by Primary Key


…真的很酷,很多人都能看到我用嵌套联接解决的文档。从
工作日
中选择
名称
打开时间
关闭时间
schedule
join
restaurants\u has\u schedule
on
schedule
idrestaurants\u has\u schedule在
工作日
id
=
日程安排
工作日
工作日
订购
$comments = Post::where('somefield', '=', 'somevalue')->comments->get();