php - Laravel 从不同的 ID 获取所有行
问题描述
今天我只是在练习我的技能并被卡住了。我只想使用我作为数组放入会话中的特定 id 从数据库中获取数据。问题是,我找不到一种方法来获取包含这些 id 的所有数据。这是我的购物车结帐方法
public function checkout(){
$uniqid = session('products');
$post=Post::find($uniqid);
return view('pages.checkout')->with('post',$post);
}
我没有得到任何数据,即使我试图得到一些东西,当有 7 个这样的东西时,我也只能得到一个字段。这是会话产品数组
0 "15be4aa3b55f10"
1 "15be4814ceb2a0"
2 "15be4814ceb2a0"
3 "15be4aa3b55f10"
4 "15be4aa3b55f10"
5 "15be4aa3b55f10"
6 "15be4aa3b55f10"
7 "15be4aa3b55f10"
解决方案
find
查询返回单行数据。如果要获取超过 1 个数据,请使用以下all
查询:
$post = Post::all();
或者,如果您想获取与您的 id 相同的所有数据,请$uniqid
使用以下where
查询:
$post = Post::where('column_name', $uniqid)->get();
编辑
如果您的会话有很多 id,您可能需要循环查找与您的会话相同的所有id
数据$uniqid
public function checkout(){
$products = [];
foreach(session('products') as $session){
$post=Post::find($session->id);
$products[] = $post;
}
return view('pages.checkout')->with('products ',$products);
}
推荐阅读
- html - Bootstrap 3.x:如何水平对齐,均匀间隔内联单选按钮?
- python - 为什么 numpy 和 torch 的矩阵乘法比 R 快得多?
- angularjs - 需要调整父节点及其对应子节点的大小
- javascript - Leaflet MarkerCluster:是否可以打开多个集群组?
- dynamic - Navigator/MaterialPageRoute 缺少参数错误
- sql - 如何从给定的两个表中获取处理更多申请的顶级代理名称
- python - 在beautifulsoup标签中插入xml树字符串
- nativescript - 允许/阻止标签的可访问性字体大小调整
- node.js - 如何断开会话中的所有连接?
- r - 如何导入 csv,使其具有反应性并创建绘图