如何从其他表(laravel)获取并显示我的站点名称

时间:2014-05-17 08:02:28

标签: php laravel eloquent

我想创建一个能够列出用户拥有管理员权限的所有网站的视图。

我如何在视图中传递并显示网站名称? 假设我是id为1的用户,该视图将显示我拥有管理员权限的网站名称。

我使用people_site(admins)表来记录所有权利。

sites table:
--------------------
id  | site_name | address 
101 | ABC       | 2131
102 | CDE       | 23212
103 | EFG       | 23231
104 | HIJ       | 1234

peoples table:
--------------------
id  | first_name | last_name | paswword
1   | Alex       | Lee       | *******
2   | Bryan      | John      | ******* 

people_site (Admin )table:
--------------------
id  | people_id | site_id
101 | 1         | 101
102 | 1         | 102
103 | 2         | 103
104 | 1         | 104
105 | 2         | 101

控制器:

public function getManage(){
    return View::make('account.manage')
        ->with('admins', Admin::where('people_id', '=', Auth::user()->id)->orderBy('updated_at', 'desc')->get());
}

查看:

<ul>
    @foreach($admins as $admin)
    <li><a href="">{{$admin->id}} </a></li>
    @endforeach
</ul>

**人物模特:**

public function sites(){
    return $this->hasMany('Site');
}

网站模型:

public function peoples(){
    return $this->belongsToMany('People');
}

2 个答案:

答案 0 :(得分:0)

有一个额外的用户类型列,使用id不好用户类型/ admin和normal,你可以根据列类型检索type =&#34; admin&#34; ,希望你知道我在说什么。

答案 1 :(得分:0)

假设该视图有多个用户&amp;多个站点

<ul>
  @foreach($admins as $admin)
    <li><a href="">{{ $admin->id }} </a></li>
    <li>
      <ul>
        @foreach($admin->sites as $site)
          <li><a href="site/{{ $site->id }}">{{ $site->site_name }} </a></li>
        @endforeach
      </ul>
    </li>
  @endforeach
</ul>