两张桌子之间的关系

时间:2016-03-12 17:12:43

标签: php laravel eloquent laravel-5.1

如何在两个表之间建立关系。我有两张表statemembers

在状态表中我有id,name和成员表我有id , state_id, members_name等。

我需要从他/她name,state name

中获取表格中的所有数据

State.php

class State extends Model {
   protected $table="state";

    protected $fillable = 
        [
            'name'
    ];

 public function member()
{
    return $this->hasMany('App\Models\Members');
}

}

Members.php

class Members extends Model {


    protected $table="members";
    protected $fillable = 
    [
            'members_name',
            'state_id'
   ];


  public function state(){
    return $this->belongsTo('App\Models\State');
}


}

视图:

@foreach($users as $user)

   {{$user->name}}//i have not got district name
@endforeach

如何获取州名?使用关系有错误。请帮助我

2 个答案:

答案 0 :(得分:3)

有很多方法,这取决于你需要什么。例如,在控制器中:

$members = State::all()->members()

在视图中:

@foreach($members as $member)
   {{ $member->name }}
@endforeach

您可以在官方Eloquent One-To-Many doc中了解有关一对多关系的更多信息。

答案 1 :(得分:1)

我认为应该这样做:

@foreach($users as $user)

    {{$user->state->name}}

@endforeach