2014-11-21 163 views
2

我有两个目的,trainee和从people对象继承instructor实例。 peoplerole有关系,但角色仅适用于people,但实际上该角色也被继承到traineeinstructor(两个对象的值为role_id为空)。laravel检查是否对象是

在人们

查看我获取所有的行,包括学员和讲师行。该代码是错误的。

<div class="form-group"> 
    <label for="" class="control-label">Role</label> 
    <div class="controls"> 
     {{ Form::select('role_id', $roles, $person->role->id, array('class'=>'select2', 'data-placeholder'=>'Pilih Role')) }} 
    </div> 
</div> 

有没有什么办法来检查至极实例$person时,是人,实习生/ instuctor。这样,如果人是受训者/教练,那么就不显示角色下拉菜单。

回答

0

如果角色是空的或NULL两个traineeinstructor,为$person->role有条件的检查应该工作

 @if($person->role) 
     <label for="" class="control-label">Role</label> 
     <div class="controls"> 
       {{ Form::select('role_id', $roles, $person->role->id, array('class'=>'select2', 'data-placeholder'=>'Pilih Role')) }} 
     </div> 
     @endif 
+0

我已经做了,是不是这样做的唯一途径,也是,如果这是更快的话,我将坚持下去。 – 2014-11-21 02:57:57

+0

根据你的问题具体情况,是的,你做的最简单。我现在假设“老师”和“实习生”都是雄辩的模特。我很好奇你是否使用单表继承(如http://www.colorfultyping.com/single-table-inheritance-in-laravel-4/),或者你有单独的人员,教师和学员表吗? – turntwo 2014-11-21 03:07:38