为什么使用紧凑型laravel从数据库显示数据是错误的?

时间:2019-04-24 03:03:51

标签: mysql laravel laravel-controller laravel-views

我在下面的数据库中有一个用户雇员表

id |    name        |            email           |     pic_for   
1     Michael             michael@mic.com               3
2     John Doe            john.doe@gmail.com            3
3     Lorem Ipsum         lorem@ipsum.com               5
4     Dolor Amet           dolor@amet.com               5
5     Campus Criteria    campus@criteria.com                 

我想在用户ID 5登录时显示数据,他可以查看他的团队,用户ID 5是用户ID 4和用户ID 3的图片,用户ID 3是用户ID 1的图片,用户ID 4是图片对于用户ID 2

我正在做一些代码,但是在视图中,这不是我想要的。这是现在的错误视图

    Lorem Ipsum        |      Dolor Amet
 -----------------------------------------------    
    Michael            |        John Doe                    

即使我将数据库更新为类似

id |    name        |            email           |     pic_for   
1     Michael             michael@mic.com               4
2     John Doe            john.doe@gmail.com            4
3     Lorem Ipsum         lorem@ipsum.com               5
4     Dolor Amet           dolor@amet.com               5
5     Campus Criteria    campus@criteria.com         

或这个

id |    name        |            email           |     pic_for   
1     Michael             michael@mic.com               4
2     John Doe            john.doe@gmail.com            3
3     Lorem Ipsum         lorem@ipsum.com               5
4     Dolor Amet           dolor@amet.com               5
5     Campus Criteria    campus@criteria.com                

刀片中的视图未更改。我想要的是经理可以像查看数据库表中的数据一样正确查看他的团队

这就是我想要的视图刀片

    Lorem Ipsum                 |      Dolor Amet
 -----------------------------------------------    
    pic for user id 3 (if any)  |   pic for user id 4 (if any)       

这是我的控制器代码

    $pic=Users::where('pic_for',$id)->get();
    // use collection
    $users = new Collection();

    foreach($pic as $pics)
    {
        //dd($pics->id);
        // merge collection with existing content
        $users = $users->merge(Users::where('pic_for',$pics->id)->get());
    }

    return view('user',compact(['pic','users']));

这是我的刀片服务器代码

      <table class="table table-bordered">
                    <thead class=" text-primary">
                    @foreach($pic as $pics)
                        <th class="text-center">{{ $pics->name }}</th>
                    @endforeach
                    </thead>
                    <tbody>
                        <tr>
                    @foreach($users as $uses)
                            <td class="text-center">{{ $uses->name }}</td> 
                    @endforeach
                        </tr>
                    </tbody>
                </table>

您知道失踪者在哪里吗?

谢谢

1 个答案:

答案 0 :(得分:0)

更改控制器代码:

return view('user',compact('pic','users'));