gpt4 book ai didi

php - Laravel 将右连接转换为左连接

转载 作者:行者123 更新时间:2023-11-30 00:44:35 26 4
gpt4 key购买 nike

我一直在尝试将右连接查询转换为左连接查询,以便在 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

但是当将其转换为左连接时,它停止工作,为每个 restaurants_id 显示相同的数据。这是我的左连接语句。

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 Eloquent ORM,它处理关系真的很酷!不再需要连接或编写 sql 查询请参阅此处:Laravels Eloquent ORM & Schema Builder

或者也许关于 Orm 的一般情况,你真的应该尝试一下:

对象角色建模 Object Role Modeling

来自 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

或者

$comments = Post::where('somefield', '=', 'somevalue')->comments->get();

....真的很酷,很多人都可以看到文档@ Laravels Eloquent ORM

关于php - Laravel 将右连接转换为左连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21489481/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com