2014-11-21 130 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