Laravel 如何将两个数组值从最低到最高排序并存储在数据库中
这是我的数组数据Laravel 如何将两个数组值从最低到最高排序并存储在数据库中,laravel,Laravel,这是我的数组数据 $users = [1, 2, 3, 4]; $bidder = [3, 6, 7, 2]; 我想这样分类 users_id | bidder ---------- ** ---------- 4 | 2 1 | 3 2 | 6 3 | 7 在控制器中,使用集合,我以这种方式排序 $users=$request->user_id; $bidder=$reque
$users = [1, 2, 3, 4];
$bidder = [3, 6, 7, 2];
我想这样分类
users_id | bidder
---------- ** ----------
4 | 2
1 | 3
2 | 6
3 | 7
在控制器中,使用集合,我以这种方式排序
$users=$request->user_id;
$bidder=$request->bidder_rate;
$data = collect($users)->map(function ($user, $key) use ($bidder) {
return [
'user_id' => $user,
'bidder' => $bidder[$key]
];
})->sortBy('bidder');
现在当我做dd($data)时,它起作用了
1 => array:2 [▼
"user_id" => "2"
"bidder" => "10"
]
0 => array:2 [▼
"user_id" => "1"
"bidder" => "12"
]
2 => array:2 [▼
"user_id" => "4"
"bidder" => "15"
]
但现在我想将所有用户id和投标人排序的数据保存在相应的字段(用户id和投标人)中
数组形式。那么如何存储它们呢
$auction=new Auction();
$auction->name=$data['auction_name'];
$auction->user_id=$data['user_id']; //I think i cannot do like this
$auction->bidder=$data['bidder'];
因为它是一个数组,所以使用一个循环遍历数组并存储它。@OMiShah像这样吗?首先,您需要为
user\u id
和bidder
设置一个JSON列类型,以便将数组值存储在单个列中。或者您需要将每个ID单独存储为数据库中的行。它现在是什么类型的列?现在i数据将以这种方式存储[“12”、“10”、“15”]
Try this
$auction=new Auction();
$auction->name=collect($data)->pluck("user_id");
$auction->user_id=collect($data)->pluck("bidder");
$auction->bidder=$data['bidder'];