2016-07-15 69 views
1
@if($note->user->name->verified === false && $note->user->name->rejected === false) 
    unchecked 
@elseif($note->user->name->rejected === true && $note->user->name->verified === false) 
    Rejected 
@elseif($note->user->name->verified === true && $note->user->name->rejected=== false) 
    Approved 
@endif 

我正嘗試使用上面的代碼。但是,它什麼也沒有顯示。這看起來像一個簡單的問題,但我不太確定什麼是錯的。Elseif in blade not working,laraval and blade(simple)

+1

您不工作是什麼意思?你會得到錯誤消息或邏輯只是不給你所期望的? – Malta

+0

我可以看到'$ note-> user-> name'的結果嗎? –

回答

0

這不是我的生意,但你的代碼看起來很糟糕。
你能提出一些改進嗎?
在這裏,他們是
在你注意模型

public function isRejected() 
{ 
    return (bool) $this->user->name->rejected; 
} 

public function isVerified() 
{ 
    return (bool) $this->user->name->verified; 
} 

然後

@if(!$note->isVerified() && !$note-isRejected()) 
    unchecked 
@elseif($note->isRejected() && !$note->isVerified()) 
    Rejected 
@elseif($note->isVerified() && !$note->isRejected()) 
    Approved 
@endif 

這個代碼是更清潔和可讀性

0

您可能想要將type cast模型的屬性設置爲布爾值以使用相同的比較運算符。

0

或者您可以嘗試替換===(相同的運算符)至==(等於運算符)的替代方法。正如@Malta所建議的那樣,您面臨的問題可能是由您所比較的兩個變量的不同數據類型引起的。

Ps:這可能工作,但你不能檢查這兩個變量是否具有相同的數據類型。

希望它有幫助=)