2015-09-16 3 views
1

Я новичок в Laravel 5 и задавался вопросом, как работает поиск объектов модели.Поиск объекта модели Laravel 5

Например, у меня есть отдельная таблица, на которую ссылается другая таблица, и я хочу получить от нее записи.

Item Table 
Category Table 

Я пытался расширить пользовательскую модель

Class Item extends Model { 

    public function getCategory(){ 
     $category = Category::find($this->category_id); 
     return $category; 
    } 
} 

Так что, когда я пытаюсь получить доступ к объекту найденную на мой взгляд,

{{ $item->getCategory()->name }} 

Я получаю ошибку

Undefined property: Illuminate\Database\Eloquent\Builder::$name 

Что я делаю неправильно? И какова наилучшая практика в этом? Раньше я делал это в Symfony, и это работает, поэтому мне было интересно, как это делается в Laravel.

Любая помощь и ввод были бы оценены.

Спасибо всем.

+1

Используйте отношения: http://laravel.com/docs/5.1/eloquent-relations # один-на-один – markdwhite

+0

Спасибо, что указали, что Марк! Очень признателен! – narutodiablo

ответ

0

Как указано в документации вот как я это сделал

Class Item extends Model { 
    public function category() 
    { 
     return $this->hasOne('App\Category', 'id', 'category_id'); 
    } 
} 

и доступ к объекту в целях таким образом

{{ $item->category->name }} 
Смежные вопросы