2016-12-01 89 views
1

大家好!我的MongoDB集合中的文檔可能有所不同。有些還有一個名爲Additional_Information的額外嵌入式文檔。我希望Web瀏覽器在Additional_Information內顯示信息表,並在沒有找到時忽略它!這應該是最簡單的if語句,但我無法讓它工作。我曾嘗試這樣的代碼:從MongoDB文檔捕捉未定義的索引Laravel

@if (is_array($document['Additional_Information'])) 
     <li><a data-toggle="tab" href="#busco">Additional Information</a></li> 
@endif 

它顯示Additional Information標籤可用時。但是當它不是,它拋出一個Undefined index: Additional_Information!是否有人知道我可以如何區分文檔並在不存在時捕獲它們?

+0

的是,代碼應該是PHP存不存在?或者Mongo在這裏有它自己的東西嗎? – Machavity

+1

@Machavity我認爲'@ if'和'@ endif'是Blade語法(Laravel的模板引擎) – simon

回答

2

使用empty()代替:

@if (!empty($document['Additional_Information'])) 
     <li><a data-toggle="tab" href="#busco">Additional Information</a></li> 
@endif 

根據文檔:

不生成警告如果變量不存在。這意味着empty()實質上就是!isset($ var)||的簡潔等價物$ var == false。

+0

我知道它必須是簡單的東西!謝謝! –

+0

我可以在9分鐘內接受這個答案。 –

0

你需要爲了使用array_key_exists以及檢查關鍵Additional_Information陣列$文件