简体   繁体   English

两张桌子之间的关系

[英]Relationship between two tables laravel

How to make a relationship between two tables. 如何在两个表之间建立关系。 i have two tables state and members 我有两个表statemembers

in state table i have id , name and in members table i have id , state_id, members_name etc. 在状态表中,我有id,名称,在成员表中,我有id , state_id, members_name等。

i need to fetch all data from table like his/her name,state name etc 我需要从表中获取所有数据,例如他/她的name,state name

State.php State.php

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

    protected $fillable = 
        [
            'name'
    ];

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

}

Members.php 会员.php

class Members extends Model {


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


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


}

view: 视图:

@foreach($users as $user)

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

How to get state name? 如何获得州名? Is there wrong in using relation.please help me 使用Relation是否有误,请帮助我

There are many ways and it really depends on what do you need. 有很多方法,这实际上取决于您需要什么。 For example, in a controller: 例如,在控制器中:

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

In a view: 在视图中:

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

You can learn more about One-To-Many relationship in the official Eloquent One-To-Many doc . 您可以在Eloquent一对多官方文档中了解有关一对多关系的更多信息。

I believe it should be done this way: 我相信应该这样:

@foreach($users as $user)

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

@endforeach

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM