gpt4 book ai didi

php - 将 2 个集合合并到另一个集合中,并在两个 Laravel 中具有相同的值

转载 作者:行者123 更新时间:2023-11-29 09:24:43 25 4
gpt4 key购买 nike

嗨,我在 Laravel 中有 2 个对象,如下所示:

{
user_id: 34993,
price: "20000.00"
},
{
user_id: 35153,
price: "20000.00"
},
{
user_id: 35168,
price: "20000.00"
},

第二个是用户对象:

[
{
id: 34993,
uuid: "8f8f2ba3-0d51-4fdb-83cd-6e13a0f2cc13",
fullname: "َUsersName",
email: null,
created_at: "2020-01-15 14:42:45",
updated_at: "2020-01-15 14:43:58",
email_verified_at: null,
gender: 2,
title: null
},
{
id: 35153,
uuid: "8f8f2ba3-0d51-4fdb-83cd-6e13a0f2cc13",
fullname: "َUsersName",
email: null,
created_at: "2020-01-15 14:42:45",
updated_at: "2020-01-15 14:43:58",
email_verified_at: null,
gender: 2,
title: null
},
{
id: 35168,
uuid: "8f8f2ba3-0d51-4fdb-83cd-6e13a0f2cc13",
fullname: "َUsersName",
email: null,
created_at: "2020-01-15 14:42:45",
updated_at: "2020-01-15 14:43:58",
email_verified_at: null,
gender: 2,
title: null
},

那么现在我如何将价格添加到第二个对象中的用户对象中,或者如何将它们与第一个对象中的 user_id 的键和第二个对象的 id 合并,因为它们是相同的?我的代码如下:

    {

$data = DB::table('users_tracker')->where('user_id','>','34676')->where('action','LIKE','%gatewayResponse%')
->leftJoin('gateway_transactions',function($join){
$join->on('gateway_transactions.ip','=','users_tracker.ip');
})
->where('gateway_transactions.status','=','SUCCEED')
->select('user_id','price')
->distinct()
->get();
// return $data;

$user_id = $data->pluck('user_id');
$users = User::whereIn('id',$user_id)->get();
return $users;
}

最佳答案

使用User加入 users_tracker,如下所示:

    User::join('users_tracker', 'users_tracker.user_id', '=', 'users.id')
->where('users_tracker.user_id','>','34676')
->where('users_tracker.action','LIKE','%gatewayResponse%')
->leftJoin('gateway_transactions',function($join){
$join->on('gateway_transactions.ip','=','users_tracker.ip');
})
->where('gateway_transactions.status','=','SUCCEED')
->select('*', 'users_tracker.user_id', 'gateway_transactions.price')
->groupBy('users_tracker.user_id', 'gateway_transactions.price')
->get();

您似乎遇到了 only_full_group_by 问题。

在 config/database.php 中设置 sql_mode

'mysql' => [
...
'modes' => [
'STRICT_ALL_TABLES',
'ERROR_FOR_DIVISION_BY_ZERO',
'NO_ZERO_DATE',
'NO_ZERO_IN_DATE',
'NO_AUTO_CREATE_USER',
],
];

请记住清除您的配置缓存:

php artisan config:clear
php artisan optimize

关于php - 将 2 个集合合并到另一个集合中,并在两个 Laravel 中具有相同的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59802229/

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