2016-11-10 30 views
1

我對Laravel有點新鮮,我想知道如何檢查數據庫中的特定值?我的數據庫中有5個不同的類別ID,我想檢查數據庫,並根據類別ID的不同採取不同的行爲。如何檢查數據庫中的特定值並對其執行操作。 Laravel 4.2

我想是這樣的:

if ($example = Example::where('category_id', '=', '1')->first()) { 
    echo "The category id is 1"; 
} 

或可能:

$example = Example::where('category_id', '=', Input::get('category_id'))->first(); 
if ($example === 1) { 
    echo "The category id is 1"; 
} 

我也嘗試過其他的東西,基於什麼我已經有工作,但不能縫得到這個功能上班。

回答

1

可以使用Laravel的firstOrFail()方法是這樣的:

$example = Example::where('category_id', '=', '1')->firstOrFail(); 
if ($example) { 
    echo "The category id is {$example->id}"; 
} 
return "error"; 

firstOrFail方法將檢索查詢的第一個結果; 但是,如果沒有找到結果,一個 Illuminate\Database\Eloquent\ModelNotFoundException將被拋出

UPDATE:

有關讀取和檢查各行,請使用all()方法和遍歷各行,以獲得您想要的結果。

$examples = Example::all(); 
foreach($examples as $example) { 
    if ($example->category_id == 1) { 
     echo "echo here the 1 thing...."; 
    } elseif($example->category_id == 2) { 
     echo "echo here the 2 thing...."; 
    } else { 
     echo "something else" 
    } 
} 

希望這有助於!

+0

謝謝您的回覆!這是朝着正確方向邁出的一步,但是,這並不能解決我的問題。這個解決方案使得每一行都回顯id爲1的id。因此,所有行最終都會回顯id爲1的id,無論它們具有哪個id –

+0

你想要什麼結果,你能告訴我嗎? –

+0

我想要例如category_id設置爲1的每一行回顯一件事,並且category_id設置爲2的每一行都應該回顯某個esle。 –

相關問題