首页 > 解决方案 > Laravel 表问题

问题描述

我有两张桌子 1. users2.screenshots

我在做什么- 我正在根据用户 ID 从屏幕截图表中获取数据,并且用户 ID 来自用户表

问题是什么- 当我检索用户表的唯一 ID 但只获得一个用户 ID 时,但数据库中有 3 个用户

我的控制器代码

    $data = ['LoggedUserInfo'=>Admin::where('id','=', session('LoggedUser'))->first()];
    $da = \DB::table('users');
    $ll = null;
    $ll2 = null;

    foreach ($data as $ll) {
        $ll = $ll->admin_id;
    }
    
    $ff = $da->where('admin_id', '=', $ll)->get();
    foreach ($ff as $llo2) {
        $ll2 = $llo2->uniqueid;
    }
    $sc = \DB::table('screenshots');
    $km = $sc->where('userid','=', $ll2);
    $kk = $km->paginate(15);

的输出$ll258641475第一个用户唯一标识

我的截图数据库

截图数据库

用户数据库

用户数据库

你也可以给我更好的逻辑建议

标签: laravel

解决方案


那是因为您只接受最后一个用户:

$ll2 = null;

foreach ($ff as $llo2) {
    $ll2 = $llo2->uniqueid;
}

$ll2将替换之前的结果。

如果您想要所有用户的屏幕截图,则需要将其设为数组:

$ll2 = [];

foreach ($ff as $llo2) {
    $ll2[] = $llo2->id; // Not uniqueid or?
}

$sc = \DB::table('screenshots');
$km = $sc->whereIn('userid', $ll2);
$kk = $km->paginate(15);

推荐阅读