如何显示与该成员对应的名称角色

问题描述 投票:0回答:1

我正在尝试显示与该成员对应的Designation角色,

我想要实现的目标,

Chairman |
         |
         President - Heading
          - member name
         Vice President - Heading
          - member name

我有一个下属的主席,根据指定ID划分,

为实现这一目标,我创建了3个表,

国家主席

id | first_name | from | to  

1 | Chairman | 2019 | 2020 

statemembers

id | first_name | chairman_id | designation_id 

  1 | Member 1 | 1 | P (inherted from designation_code of statedesignation)

  1 | Member 2 | 1 | VP (inherted from designation_code of statedesignation)

statedesignation

id | designation_code | designation_name | designation_desc

  1 | P | President | President Description. 
  1 | VP | Vice President | President Description. 

数据库设计可以更好吗? 。任何其他建议

我想显示成员名单,然后是他们的名字:

我试过订购桌子但是,我无法引入相应会员的名称,

我的控制人员带来了主席下的国家成员

$statemembers = StateChairman::find($id)->statemembers()->orderBy('designation_id')->get();
dd($statemembers);

我得到的结果 - 所有州成员的名单 -

But when I try this 
$statedesignation = Statemembers::find($id)->statedesignations()->get();
dd($statedesignation);

对于这个我只能在Statedesignation获得Id 1的结果,即总统,副总统被忽略,

我只获得了Designation总裁,因为find($ id)只带来1或相应的id

模型:

国家主席:

    class Statechairman extends Model
{
    public function statemembers(){
        return $this->hasMany('App\Statemembers','chairman_id','id');
    }
}

StateMembers:

class Statemembers extends Model
{
    public function statechairman(){
        return $this->belongsTo('App\Statechairman','chairman_id','id');
    }

州指定:

 public function statemembers(){
    return $this->hasMany('App\Statemembers');

我对如何达到上述要求毫无头绪,

我还想从statemembers表中删除designation_id并添加designation_name并直接在页面上显示它。更新表格这样的事情,

id | first_name | chairman_id | designation_id 

  1 | Member 1 | 1 | President
  2 | Member 2 | 1 | Vice President

但这不是一个好习惯。

请提供一些有关上述问题的见解。

sql database laravel laravel-4 eloquent
1个回答
0
投票

从我的角度来看,你应该使用多态关系或has-many-through关系

Laravel Polymorphic

希望能帮助到你 :)

© www.soinside.com 2019 - 2024. All rights reserved.