You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel中如何从查询结果中获取单条数据的ID?

问题解决:无法从Laravel查询集合中获取用户ID

你的报错原因很明确:get()方法返回的是Eloquent集合对象,包含所有匹配查询条件的用户模型实例,而不是单个用户模型。直接访问->id相当于在集合上找这个属性,自然会报错。

根据你的需求,分三种情况给出解决方案:

情况1:只需要匹配到的第一个用户ID

把get()换成first(),它会返回单个用户模型(如果有匹配结果):

$iduser = User::where('username','like','%' . request('username') . '%')->first();

// 一定要先判断用户是否存在,避免空对象报错
if ($iduser) {
    $userId = $iduser->id;
    // 在这里执行向另一张表插入数据的逻辑
}

情况2:需要处理所有匹配的用户ID

如果查询可能返回多个用户,遍历集合逐个获取ID:

$users = User::where('username','like','%' . request('username') . '%')->get();

foreach ($users as $user) {
    $userId = $user->id;
    // 对每个用户执行插入操作
}

情况3:只需要所有匹配用户的ID数组

如果不需要完整的用户模型,直接用pluck()提取ID:

// 获取ID集合,转成数组
$userIds = User::where('username','like','%' . request('username') . '%')->pluck('id')->toArray();

// 可以批量插入或者按需使用这些ID

内容的提问来源于stack exchange,提问作者TheBetweener

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 07:22:02