2015-02-16 4 views
0

Итак, у меня есть следующее предложение where, где я ищу имя «Золото» внутри моей таблицы уровней.Get Attribute from Elequent where where

$tier = Tier::where(['name' => 'Gold'])->get(['id']); 
dd($tier); 

Когда я делаю над «ид» перечислен внутри атрибутов, но когда я делаю, как показано ниже, что дает мне

Не определено свойство: Осветить \ Database \ Eloquent \ Коллекция :: $ ID

dd($tier->id); 

Все, что я хочу, чтобы получить идентификатор записи, где название «Gold».

ответ

1

Для того, чтобы найти актуальную модель, вы должны использовать first() вместо get(). Потому что потенциально несколько строк, которые соответствуют get(), возвратят коллекцию.

$tier = Tier::where(['name' => 'Gold'])->first(['id']); 
dd($tier->id); 

Если вам действительно нужно только идентификатор есть даже более простая функция для того, pluck().

Это будет получить один атрибут из первого результата:

$id = Tier::where(['name' => 'Gold'])->pluck('id'); 
+0

Это зафиксировал его, спасибо. – Steve