gpt4 book ai didi

php - 需要帮助将 SQL 查询转换为 Laravel eloquent

转载 作者:行者123 更新时间:2023-11-29 16:34:03 24 4
gpt4 key购买 nike

我有这个 SQL 查询:

SELECT * FROM `user` WHERE `id` IN(
SELECT DISTINCT if(`sender_id`='2',`receiver_id` ,`sender_id`) AS `id`
FROM `message`
WHERE (`receiver_id` = '2' OR `sender_id` = '2')
)

我需要转换为 Laravel eloquent。问题是,我不知道如何转换 IF 函数。

最佳答案

User::whereIn('id', Message::distinct()->select(DB::raw('if(sender_id=2, receiver_id, sender_id) as id'))->where( 
function( $query ) {
$query
->where('receiver_id', 2)
->orWhere('sender_id', '2');
}
))->toSql();

要在sql语句中使用if条件,您可以使用DB::raw方法:)

关于php - 需要帮助将 SQL 查询转换为 Laravel eloquent,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53723353/

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