php - 如何在 ->get() 查询后将一组字段存储在变量中
问题描述
以下是我的查询,它可能输出不止一行。我需要将 user_id 字段存储在下面 $send_user_id 变量的每一行中,以便在刀片中使用 foreach 循环。我目前收到(尝试获取非对象的属性)错误。
$j_request = DB::table('grpusrs')
->join('users', 'users.id', '=', 'grpusrs.user_id')
->join('groups', 'grpusrs.group_id', '=', 'groups.id')
->where('groups.owner_id', $user_id)
->where('grpusrs.join_request', 1)
->get();
$send_user_id = $j_request->user_id;
此查询还连接两个表,那么如何指定具有必填字段的表?(即我想要'Grpusrs'表中的user_id不在'Groups'表中)
解决方案
如果您需要检索多个user_id
,您可以遍历$j_request
对象并收集user_id
数组中的每一个。
$j_request = DB::table('grpusrs')
->join('users', 'users.id', '=', 'grpusrs.user_id')
->join('groups', 'grpusrs.group_id', '=', 'groups.id')
->where('groups.owner_id', $user_id)
->where('grpusrs.join_request', 1)
->select('users.*', 'contacts.phone', 'orders.price')
->get();
$send_user_id = [];
$j_request->each(function($item) use ($send_use_id){
$send_user_id[] = $item->user_id;
});
如果您只需要一个user_id
,您应该在查询中更加“精确”(只获得一条记录)。之后,您可以user_id
简单地使用$j_request->user_id
推荐阅读
- sql - 调整 SQL 以适应由于夏令时而输入数据库的错误日期
- java - Kafka Listener 以什么顺序消费消息?
- vue.js - 如何在 vue.js 模板中使用 annotorious
- statistics - 矩阵的协方差
- java - 在 Spring Cloud Config 上配置 JSON 文件
- oracle11g - SQL*Loader 在单列中处理多个值
- postgresql - PSQL - UPDATE tableA off tableB where Column1 Match
- python - 用数字将 pandas 列分成两列(包含时间)
- javascript - Geochart 未在 Internet Explorer 上显示工具提示
- python - 有没有办法将两个安装程序捆绑在一起?(尤其是对于 python 程序)